0.回顾复习

  1. JDK环境变量 :path : jdk的安装目录的bin目录 编译命令 :把Java文件编译成.class文件 javac Xxx.java执行命令 : 执行程序功能 java Xxxx 执行的时候 不需要后缀
  2. Java的第一个入门程序
    • 定义一个类 Java使用类 开发程序 定义类 使用一个关键词 class day02 - 图1System.out.println() ; println() : 打印数据 并且换行 System.out.println() ; print() : 打印数据 不换行
  3. Java程序的执行过程 day02 - 图2
  4. Java的注释java语言提供了三种注释的放肆 java注释不会参与java的编译,不会影响代码的功能 ,主要的作用方便程序员 看明白代码的意思在Java中 \n 代表换行\t : 代表八个bit 其实意思就是占据一定空间

    • 单行 //输出一个数据 蜗牛学院;
      System.out.println(“蜗牛学院”);
    • 多行注释public class Student {

      /
      0.这是多行注释
      1. 这是一个主方法
      2. 此方法由虚拟机执行 是固定写法
      3. 本方法有一个参数
      /
      public static void main(String[] ssss){

      //输出一个数据 蜗牛学院;
      System.out.println(“蜗牛学院”);
      System.out.println(“蜗牛学院”);
      System.out.print(“AAAAAAAAAA”);
      System.out.print(“BBBBBBBBBB”);
      }

}

  • 文档注释将来生成java API文档使用的/**
    0.这是文档注释
    1.这是一个学生类
    2.操作学生的功能

/
public class Student {

/

1. 这是一个主方法
2. 此方法由虚拟机执行 是固定写法
3. 本方法有一个参数
*/
public static void main(String[] ssss){

  1. //输出一个数据 蜗牛学院;<br /> System.out.println("蜗牛学院");<br /> System.out.println("蜗牛学院");<br /> System.out.print("AAAAAAAAAA");<br /> System.out.print("BBBBBBBBBB");<br /> }<br />}

课堂练习 :
创建一个Person类 ,输出打印 一个下面的模型 :
day02 - 图3
要求 :在类上加文档注释
main方法上 加多行注释
打印语句上加 单行注释

一.Java跨平台原理

一次编译,到处运行(windows、linux、unix、mac)
因为Java运行不依赖于平台(操作系统)
day02 - 图4
面试题:java语言为什么会跨平台

二. IDE(Eclipse)集成开发环境

Eclipse是一筐优秀Java开发工具,免费开源,免安装,直接解压缩就可以使用
使用Eclipse之前,必须安装JDK 。
因为Eclipse就是使用 Java语言开发 ,必须在Java的环境下才可以运行
day02 - 图5
day02 - 图6
Eclipse 设置 :

  1. 编码day02 - 图7day02 - 图8
  2. 创建项目day02 - 图9day02 - 图10day02 - 图11点击 finish 就 OKday02 - 图12
  3. 使用Eclispe创建一个Java类 day02 - 图13day02 - 图14调整文字大小 :windows—->preferences :day02 - 图15
  4. 执行程序 在当前java文件中 右键 点击

    三.标识符

    1.标识符

    任何一门编程语言,它的程序都是由一些特殊的符号组成,咱们就把这个符号称为:标识符
    标识符:
    案例 :

    2. 关键字

    被Java征用的标识符,就叫关键字 (不需要程序员不能定义)
    Java有50个关键字:
abstract boolean break byte case
catch char class const continue
default do double else extends
assert final finally float for
goto if implements import instanceof
int interface long native new
strictfp package private protected public
return short static super switch
synchronized this throw throws transient
try void volatile while enum

const 与goto 都是C++遗留下来的关键字, 但是Java程序员从不用它。const被final替换了,goto跳转指针用的,所以不用! Java还有3个保留字 true false null
面试题:const 与 goto 是不是Java关键字?
答:是,但是我们不用
关键字不需要记忆 ,在IDE中,变颜色的就是关键字 ,不能使用

3. 自定义标识符

由程序员自己定义的符号
主要有 :包名,类名,方法名,变量名,参数名

  • 标识符的命名规范(必须遵守):
    • 标识符只能由字母,数字,_ ,以及$ 组成
    • 标识符数字不能开头,而且严格区分大小写,但是长度不受限制
    • 标识符一定不能是Java的关键字
  • 开发时的规范大驼峰:首字母大写,单词和单词之间首字母大写 例如: 小驼峰:首字母小写,单词和单词之间首字母大写例如:
    • 类名,方法名,变量名必须遵从“驼峰命名法”,类名遵从”大驼峰”,其它都是“小驼峰”
    • 取名时,必须“见名知意”
    • 常量的常量名必须全大写,单词之间使用_进行分割

参考阿里巴巴Java开发规范

  1. 执行程序 在当前java文件中 右键 点击 day02 - 图16显示 :package explorerwindows—->Show View day02 - 图17
  2. Eclispe的快捷键的使用Eclispe是一个集成开发工具,为了提高开发效率,提供很多快捷键的使用快捷键 不需要死记 经常使用,就记住了代码助手:Alt+/ // 代码提示 最常用
    快速修正:Ctrl+1 //学习异常和接口的时候
    显示搜索对话框:Ctrl+F //显示搜索框 搜索代码
    打开资源:Ctrl+Shift+R // 搜索一个类 并且打开
    打开类型:Ctrl+Shift+T //和上面类似
    删除行:Ctrl+D //删除行
    上下移动选中的行:Alt+Up/Down

//上一个/下一个光标的位置:Alt+Left/Right
//上一个/下一个成员(成员对象或成员函数):Ctrl+Shift+Up/Down
//选中闭合元素:Alt+Shift+Up/Down/Left/Right

//在当前行上插入一行:Ctrl+Shift+Enter
//在当前行下插入一行: Shift+Enter

  1. 包的作用
    1. 包的作用是管理类的
    2. 包的给项目分模块
    3. 在团队开发的时候 容易分配任务

包的定义 :
在我们类的第一行定义
package xxx.xxx.xxx ;
在使用eclipse等IDE 的时候,在创建累的时候 ,定义好 ,自动生成
包的定义时,都是用小写字母
包的定义,可以任意 ,但是一个开发规范:按照公司域名的反写 + 项目名
例如 :http://www.woniuxy.com/
定义包 :com.woniuxy.day02
https://www.baidu.com —-> com.baidu.crm
工程名 下面的包 :按照模块划分 :用户模块 、订单模块、客户模块、购物城模块、商品模块 等等

三.标识符

1.标识符

任何一门编程语言,它的程序都是由一些特殊的符号组成,咱们就把这个符号称为:标识符
标识符: 关键字 、自定义符号
案例 :
public class Test1 {

public static void main(String[] args) {

System.out.println(“AAAAAAAAAA”);
}
}
在上述代码中 ,除了 “AAAAAAAA” 不是标识符之外 其他的都是 标识符
关键字 :public 、class、static 、void
自定义 :Test1 、mainString 、args 、Systemoutprintln

2. 关键字

被Java征用的标识符,就叫关键字 (不需要程序员不能定义)
Java有50个关键字:

abstract boolean break byte case
catch char class const continue
default do double else extends
assert final finally float for
goto if implements import instanceof
int interface long native new
strictfp package private protected public
return short static super switch
synchronized this throw throws transient
try void volatile while enum

const 与goto 都是C++遗留下来的关键字, 但是Java程序员从不用它。const被final替换了,goto跳转指针用的,所以不用! Java还有3个保留字 true false null
面试题:const 与 goto 是不是Java关键字?
答:不是,是java的保留字
关键字不需要记忆 ,在IDE中,变颜色的就是关键字 ,不能使用

3. 自定义标识符

由程序员自己定义的符号
主要有 :包名,类名,方法名,变量名,参数名

  • 标识符的命名规范(必须遵守):
    • 标识符只能由字母,数字,_ ,以及$ 组成
    • 标识符数字不能开头,而且严格区分大小写,但是长度不受限制
    • 标识符一定不能是Java的关键字
  • 开发时的规范 (不遵守 ,程序不会报错 ,但是项目经理会让你重写)大驼峰:首字母大写,单词和单词之间首字母大写 例如: HelloWorld 、StudentManage 、UserRole 。。。小驼峰:首字母小写,单词和单词之间首字母大写
    • 类名,方法名,变量名必须遵从“驼峰命名法”,类名遵从”大驼峰”,其它都是“小驼峰”如果标识符由多个单词组成

例如: printAge 、userName、passWord、studentName 。。。

  • 取名时,必须“见名知意”根据类名 就知道 这个类是干嘛的 ,根据方法名 就知道这个方法时干嘛的 根据变量名 就知道变量是干嘛的public class User {
    //String userName ;
    String yonghuming ; //low
    String passWord;
    int age ;
    String sex ;
    Date birth;

    double cautionMoney ; //保证金
    }
  • 常量的常量名必须全大写,单词之间使用_进行分割定义好之后 不能被改变的数据 就叫常量 什么样的数据 适合于 定义成常量呢 ?在项目中 ,永远不会发生改变的数据 比如 :圆周率 、一年四季 等 final double MATH_PI = 3.14;

参考阿里巴巴Java开发规范

四、基本数据类型

1.二进制

计算机底层是以二进制进行计算 ,计算底层最小的容量单位是 :bit(比特) 计算机底层最小存储单位是 byte (字节)
一个bit (比特)就是一位 (二进制中的一位) 0 1 0 1 —>四位
一个字节是8个比特 (8位) : 0000 0000
1G = 1024M
1M = 1024K
1k = 1024byte
二进制 和 十进制 之间的换算 ?
0101 1001 ——— 十进制
day02 - 图18
十进制 —- >二进制 25
day02 - 图19

2. 数据类型

java是一种强数据类型语言 ,把不同的数据 表示成U币同的类型,在JVM中运行 。
在Java中把数据类型分为以下两大类 :

  • 基本数据类型 在基本数据类型中,分为八种 三大类 (三类八种)day02 - 图20

    • 数字类型public static void main(String[] args) {

      //定义一个商品的价格 :9.9
      //int price = 9.9; //错误
      float price1 = 9.9F ; //因为浮点数 默认是 double类型
      double price2 = 9.9 ;
      }

      • 整数 (根据表示的数据大小分为四类)整数类型默认的类型是 :int public static void main(String[] args) {

        /
        存储在内存 在内存中占据 空间
        byte 在内存中占据 8 位 一个字节 0 0 0 0 0 0 0 0
        既然byte 在内存占据 8位 就是说byte 有存储的上限
        在内存存储的时候,最左边的一位是 符号位 0 :正数 1 负数
        byte 最大的数据如何表示 0 1 1 1 1 1 1 1 = 127 (2的7次方 -1 )
        byte 最小的数据如何表示 (补码) 1 0 0 0 0 0 0 0 = -128 (-2的7次方)
        /
        byte age = 18;
        //byte a = 129; //赋给byte值的时候 不能超过byte表示的最大值

      short s = 300;
      int num = 100000;
      long personNum = 14000000000L ;

      long myAge = 18; //把18这个数据 存储在 64位的空间中 ,没有任何问题 ,只是浪费空间

      System.out.println(100); // 100 默认就是 int 类型

}

  1. - byte 1个字节 8
  2. - short 2个字节 16
  3. - int 4个字节 32
  4. - long 8个字节 64
  5. - 小数(浮点数)默认类型是 double 类型
  6. - float 4个字节 32
  7. - double 8个字节 64
  • 字符类型public static void main(String[] args) {

    //使用单引号 定义char类型
    char c1 = ‘a’;
    char c2 = ‘0’;

    char c3 = ‘中’;
    //char c4 = ‘中国’; // 错误 汉字 在内存占据两个字节 char就是两个字节 只能存储一个中文

    //char类型可以和 int类型 互换 不会产生错误
    System.out.println(c1);
    int x = c1;
    System.out.println(x);

    int y = c2 ;
    System.out.println(y);

    int z = c3 ;
    System.out.println(z);
    }char类型在定义的时候 使用 单引号 定义day02 - 图21

    • char 2个字节 16位
  • 布尔类型
    • boolean 只有两个值 true false
      • 引用类型(对象类型)
      • day02 - 图22布尔值 :实际值 占一位 有的虚拟机 分配一个字节 ?
  • 布尔类型
    • boolean 只有两个值 true false
      • 数据类型之间的转换byte、short、char、int 、long、float、double 这七种数据类型之间是如何转换的?数据转换分为两种类型 :
  • 自动转换byte、short、char —->int —->long —->float —— double
  • 强制转换 (不推荐使用)容易造成数据溢出 语法 : 数据类型 标识符 = (数据类型)值
    short s1 = 100;
    int m1 = 1000000000;

short s2 = (short)m1; // 可以转过去 风险 是可能数据溢出
System.out.println(s2); //数据溢出在数据超出 定义的数据类型表示的自大值 就会数据溢出

  • 引用类型(对象类型) 除了基本类型以外的类型 ,都是引用类型String 就是引用类型 引用类型的定义和基本类型的定义都是一样的 类型 标识符 = 值 ;
    String userName = “张三丰”;

引用类型和基本类型的区别?
在内存中存储的位置不一样 ,存储的方式也不一样

五、变量

1.字面量 (字面量常量)

public static void main(String[] args) {

System.out.println(200);
System.out.println(true);
System.out.println(“张三丰”);

  1. System.out.println('中');
  2. System.out.println(3.14);<br /> //以上我打印的数据 都是 字面量 他们有一个共同的特点 没有标识符<br />}

2.变量

变量:顾名思义,在一定范围内(数据类型能表示的范围),可以发生变化的量
变量的定义 :
//数据类型 标识符 = 值 ;
public static void main(String[] args) {
int a = 100 ;
System.out.println(a);

  1. a = 200;<br /> System.out.println(a);
  2. a = 300;<br /> System.out.println(a);
  3. String name = "张三丰";<br /> System.out.println(name);
  4. name = "张无忌" ;<br /> System.out.println(name);
  5. //以上定义的 a 、name 是可以随意改变值 就叫变量<br /> //变量 在使用时 使用变量名称 操作变量值<br />}<br />变量的使用 :<br />为什么使用变量 ?<br />变量的目的是存储数据 ,供后期使用、维护

六、Scanner的应用

Scanner是JSK提供一个类,主要是从控制台 接收数据:
public static void main(String[] args) {
//创建出来一个Scanner对象
Scanner sc = new Scanner(System.in);

  1. System.out.println("请输入用户名:");<br /> //接收用户名: next() 接收的是 字符串 String<br /> String name = sc.next();
  2. System.out.println("请输入密码:");<br /> //接收密码<br /> String pass = sc.next();
  3. System.out.println("请输入年龄:");<br /> int age = sc.nextInt(); //nextInt() 接收int类型的数据
  4. System.out.println(name +"==="+pass+"==="+age);<br />}