java EE_NZ-JAVA01 java 学习 第一周总结

NZ-JAVA01第一周

Day01

软件安装

开班

JDK8.0

配置了环境变量

  • path里面配置了 jdk的bin目录

Dos命令

  • cd
  • dir
  • cls
  • java
  • javac
  • cd …

java 的历史

  • 1996年发布jdk 1.0
  • 1999年发布j2se,j2ee,j2me
  • 2005年更名java se 、java EE、java ME
  • 2009年被Oracle收购
  • 2011年由oracle 发布java 7.0
  • 2014年由oracle 发布java 8.0

java语言的特定

  • 面向对象

    使用计算机模拟现实世界,解决现实世界贴近人类思维模式

  • 简单

    相对于C,C++,C#,不易造成内存溢出、减少代码量、代码可读性强

  • 跨平台

    操作系统、服务器、数据库

第一个java程序

  • 新建一个Demo.java的文件

  • helloword程序

    public class Demo{
    public static void main(String[] ra){
    System.out.println(“hello word”);
    }
    }

Day02

名词解释

  • JVM 虚拟机

    使用软件在不同操作系统中,模拟相同环境

  • JRE 运行环境

    包含jvm 和解释器,完整的java运行环境

  • JDK 开发环境

    包含jre +类库+开发工具包(编译器+调试工具)

类的阐述

  • 同一个源文件中可以定义多个类
  • 编译后,每个类都会生成一个独立的 .calss 文件
  • 一个类中,只能有一个主函数,每个类都可以有自己的主函数
  • public 修饰的类称为公开类,要求类名必须与文件名称完全相同,包含大小写
  • 一个源文件中,只能有一个公开类

类的详解

  • 类名的每个单词的首字母必须大写
  • 一个类只能有一个main函数

package com.qianfeng.ls.test;

public class Test{
public static void main(String[] args){

	System.out.println("test");

}

}

  • 作用:类似于文件夹,用于管理字节码(.class)文件
  • 语法:package 包名
  • 位置:必须写在源文件的第一行
  • 带包编译: javac -d . 源文件名称.java (自动生成目录结构)
  • 带包运行: java 包名.类名 (包名+类名又称全限定名)
  • 采用域名倒置的规则: www.baidu.com.cn ——》 cn.com,baidu.www

编码规范

  • 层次之间必须缩进(Tab: 一个制表位(4个空格))

  • 一行只写一句代码

  • 注释

    • 单行注释
    • 多行注释
    • 文档注释

书写格式

  • 类名,每个单词的首字母都要大写
  • 包名,尽量全部采用小写;公司域名的倒写
  • 需要采用缩进;尽量一行只写一句代码

标识符命名

  • 类名

  • 包名

  • 属性名

  • 方法名

  • 约定俗成

    • 望文生义、见名知义
    • 类名由一个或多个单词组成,每个单词首字母大写
    • 函数名、变量名由一个或多个单词组成,首单词首字母小写,拼接词首字母
    • 包名全小写,只可以使用特殊字符“.”, 并且不以“.”开头或结尾
    • 常量全大写,多个单词用_连接
  • 语法规定

Day03

数据的类型

  • 基本数据类型

    • 整型

      • int

        • 4个字节
    • 字节型

      • 1个字节
    • 短整型

      • short

        • 2个字节
    • 长整型

      • long

        • 8个字节
    • 浮点型

      • float

        • 4字节
      • double

        • 8字节
    • 布尔型

      • true
      • false
    • 字符

      字符赋值 :char cl = ‘A’ 【通过‘’ 描述为字符赋值】

      整数赋值: char c2 = 65; 【 通过十进制数65在字符集中对应的字符赋值】

      进制赋值 : char c3 = ‘\u0041’; 【通过十六进制数41 在字符集中所对应的字符赋值】

      • char

        • 2个字节
  • 引用数据类型

    • 字符串

      • String
    • 数组

    • 对象

变量

  • 概念

    • 计算机内存中的一块存储空间,是存储数据的基本单元
  • 变量的组成

    • 数据类型
    • 变量名
    • 变量值
  • 变量的定义流程

    • 声明

      数据类型 变量名;
      int money ;//开辟整数变量空间

    • 赋值

      赋值;
      变量名 = 值;
      money = 100; //将整数值赋给变量

      注意:java 是强类型语言,变量的类型必须与数据的类型一致

    • 方式

      • 先声明,再赋值

        数据类型 变量名;
        变量名 = 值;

      • 声明并赋值

        数据类型 变量名 = 值;

      • 多个类型相同的声明与赋值

        数据类型 变量1 ,变量2 ,变量2 =值3 ,值4, 值5 =值5;

  • 变量值

转义字符

  • \n

    • 换行符
  • \t

    • 缩进(制表位)
  • \

    • 反斜线
    • 单引号
  • ‘’

    • 双引号

类型转换

  • 由低到高自动转;由高到低强制转

  • 规则

    • 整数长度足够,数据完整

      例子:
      int i = 100; byte b =(byte)i; //b = 100

    • 整数长度不够,数据截断

      例子:
      int i = 10000 ; byte b =(byte)i;
      //b = 16 (符号位变化,可能变为负数)

    • 小数强转整数,数据截断

      例子:
      double d = 2.5; int i = (int)d;
      //i =2(小数位舍掉)

    • 字符整数互转,数据完整

      例子
      char c = 65 ; int i = c;
      // i=65

    • boolean的取值为true/false,不可与其他类型转换

  • 自动类型提升

    • 当两个操作数有一个为double,计算结果提示也升为double
    • 如果操作数中没有double,有一个为float ,计算结果提升为float
    • 如果操作数中没有float ,有一个为long ,计算结果提升为long
    • 如果操作数中没有long ,有一个为int ,计算结果提升为int
    • 如果操作数中没有int ,均为short或byte ,计算结果仍然提升为int
    • 特殊:任何类型与String 相加实为拼接,其结果自动提升为String
  • 运算符

    • 算数运算符

      • 加,求和
      • 减、求差
      • 乘、求积
        / 除、求商
        % 模、求余
      • 一元运算符(只有一个操作数)

        • ++ 递增,变量值+1
        • – 递减,变量 -1
    • 赋值运算符

      • =

        • 直接赋值
      • +=

        • 求和后赋值
      • -=

        • 求差后赋值
      • *=

        • 求积后赋值
      • /=

        • 求商后赋值
      • %=

        • 求余后赋值
    • 关系运算符:两个操作数进行比较

        • 大于
      • <

        • 小于
      • =

        • 大于等于
      • <=

        • 小于等于
      • ==

        • 等于
      • !=

        • 不等于
    • 逻辑运算符

      • &&

        • 与(并且)

          • 两个操作数,同时为真,结果为真
      • ||

        • 或(或者)

          • 两个操作数、一个为真,结果为真
      • |

        • 非(取反)

          • 意为“不是‘,真即是假,假即是真
    • 三目运算符:将判断后的结果赋值给变量

      • ? :

        • 语义

          布尔表达式?结果1:结果2

          • 描述

            当表达式结果为真,获得结果1
            当表达式结果为假,获得结果2

  • 表达式

    • 使用运算符连接的表量或字面值,并可以得到一个最终结果

      例如

Day04

控制台录入

  • 程序运行中,可在控制台(终端)手动;录入数据,再让程序继续运行

  • 导包语法:import包名.类名;//将外部class文件功能引入到自身文件中

  • 使用顺序

    • 导入java.util.Scanner

      • 声明Scanner类型的变量

        • 使用Scanner类对应的函数(区分类型)

          • nextInt(); //获得整数
          • nextDouble();//获得小数
          • next ();// 获得字符串
          • .next()charAt(0);//获得单个字符
          • 注:如果输入了不匹配的数据,这会产生java.util.InputMismatchException

Day05

选择分支结构

选择结构:

  • 基本的if选择结构

    • 语法

      if(布尔表达式){

      //代码块

      }

      后续代码

    • 执行流程

      • 对布尔表达式进行判断
      • 结果为true ,则先执行代码块,再进执行后续代码
      • 结果为false ,则跳出代码块,直接执行后续代码
  • if else 选择结构

    • 语法

      if(布尔表达式){
      //代码块1
      }else{
      // 代码块2
      }

      后续代码…

    • 执行流程

      • 对布尔表达式进行判断
      • 结果为true,则先执行代码块1,再退出整个结构,执行后续代码
      • 结果为false ,则先执行代码块2,再退出整个结构,执行后续代码
  • 多重if 选择结构

    • 语法

      if(布尔表达式子1){
      //代码块1

      }else if(布尔表达式2){
      //代码块2
      }else if (布尔表达式3){
      //代码块3
      }else{
      //代码块4
      }

    • 执行流程

      • 表达式1为true,则执行代码块1,再退出整个结构
      • 表达式2为true,则执行代码块2,再退出整个结构
      • 表达式3为true,则执行代码3,再退出整个结构
      • 以上均为false ,则执行代码块4,其他均不再执行
      • 注意:相互排斥,有一个为true,其他均不再执行。使用于区间判断
  • 嵌套if 选择结构

    • 语法

      if(外层表达式){
      if(内层表达式){
      //内层代码块1

      }else{
      //内层代码块2
      }

      }else {

        //外层代码块
      

      }

    • 执行流程

      • 当外层条件满足时,再判断内层条件
      • 注意:一个选择结构中,可嵌套另一个选择结构
      • 嵌套格式正确的情况下,支持任意组合
  • switch分支结构

    package demo;
    import java.util.Scanner;

    public class TestSwitch{
    public static void main(String[] args){
    Scanner input = new Scanner(System.in);
    System.out.println(“请输入整数:”);
    int choice = input.nextInt();
    switch(choice){
    case 1: System.out.println(“北京考鸭”);
    case 2:System.out.println(“过桥米线”);
    case 3: System.out.println(“麻辣香锅”);

    }

    }

    }

    • 语法

      switch(变量|表达式){
      case 值1:
      逻辑代码1;
      case 值2:
      逻辑代码2;
      case 值n:
      逻辑代码n;
      default:
      未满足时的逻辑代码;

      }

    • 可判断的类型

      byte 、short、int 、char、String(jdk7+)

    • 执行流程

      • 如果变量中的值等于值1,则执行逻辑代码1
      • 如果变量中的值等于值2,则执行逻辑代码2
      • 如果变量中的值等于值n,则执行逻辑代码n
      • 如果变量中的值没有匹配的case值,执行default中的逻辑代码
      • 注意:所有case的取值不可相同
    • note

      • 当匹配的case被执行后,并不会自动退出整个结构,而继续向下执行
      • break 关键字可以在匹配的case执行后,直接跳出整个结构
  • 局部变量

    • 概念:声明在函数内部的变量,必须先赋值再使用。
    • 作用范围:定义性开始到所在的代码块结束
    • 注意:多个变量,在重合的作用范围内,不可出现重名(命名冲突)
    • 声明在函数内部的变量,必须先赋值再使用
  • 选择结构的概念:根据已知条件进行逻辑判断。满足条件后执行相应操作

你可能感兴趣的:(java学习)