1.了解jshell
1.1 使用场景:只是需要验证及其简短的几段代码时,为了不写类和main方法,可以简单使用。
1.2 在cmd命令台,输入 jshell 进入,输入 /exit 退出。
2.编译器优化
2.1 当赋值语句右侧(因为所有数据都是默认int)的范围不超过左侧(byte/short/char)的范围时,编译器优化自动强制转换。
2.2 当右侧表达式包含的都是常量时,在编译阶段就可以得出结果,如果结果不超过左侧范围,编译通过。若右侧包含变量,由于不确定,将在运行时确定,此时高范围---->低范围,编译不通过。
备注:详细内容见2019-6-8/img/1和2
3.流程控制
3.1 顺序控制
3.2 选择结构(if,if else,if elseif ...else,switch),注意事项见2019-6-8/img/3
3.3 循环结构(for,while,do-while),理解区别。
备注:死循环标准格式
while(true){...}
3.4 break 和 continue
4.IDE
4.1 含义:集成开发环境
4.2 intelil-idea 项目结构认识(项目project>模块module>包package)图解见2019-6-8/img/4
4.3 创建一个完整项目的步骤
①创建空project ②创建模块或导入别人的模块(day01,day02...) ③将src分为多个包,创建包 ④具体文件写在一个包内
4.4 基本快捷键
alt+4:显示运行窗口;
alt+enter:自动补全缺失包;
ctrl+y/d:删除本行/复制本行;
ctrl+alt+l:格式化源代码;
ctrl+/:单行注释;
ctrl+shift+/:多行注释;
alt+shift+↑/↓:本行上移/下移;
5.方法复习
5.1 回顾:抽取功能,提高阅读性和复用性。
5.2 方法完整格式:
修饰符 返回值 方法名字(参数列表){方法体;return 返回值}
public static int getSum(int a, int b){return a + b;}
5.3 方法调用步骤
5.4 注意事项见2019-6-8/img/5
6.方法重载
6.1 含义:方法名一样,参数列表不同,jvm会根据情况调用。
6.2 参数情况分类:
①参数个数不同 ②参数类型不同 ③参数混合顺序不同
6.3 理解JDK提供的println的重载,输入不同类型的值,输出。
6.4 注意事项见2019-6-8/img/6
7.数组
7.1 概念和特点:拥有很多数据的容器,所有数据类型相同,数组长度固定。
7.2 初始化:动态(长度) + 静态(内容)。注意事项见2019-6-8/img/7
动态:
int[] array = new int[8];
int[] array;
array = new int[8];
静态:
int[] array = new int[] {10,20,30};
int[] array = {10,20,30};
int[] array;
array = new int[] {10,20,30};
7.3 数组访问(默认值)图解见2019-6-8/img/8
7.4 java内存划分5部分:了解3部分。图解见2019-6-8/img/9
①栈:方法运行的地方,局部变量存储的地方
②堆:数组,对象存储的地方,new出来的东西存在的地方。
③方法区:存放各个class文件的具体内容
7.5 数组内存分配全过程。 图解见2019-6-8/img/10和11
7.6 数组赋值(引用赋值的意义) 图解见2019-6-8/img/12
7.7 数组越界异常和空指针异常。
7.8 数组长度:array.length
7.9 方法返回多个值:返回数组即可
8.对象
8.1 对象与过程:过程针对有序的步骤,对象针对“偷懒”,强调使用已存在对象的方法。
8.2 类(属性+方法):对生活中物体的抽象和模拟,类的定义就是成员变量和成员方法的定义。注意事项见2019-6-8/img/13。
8.3 对象:一般类不能直接使用,而是使用对象(类的实例),创建步骤:图解见2019-6-8/img/14。
①导入类所在的包 ②创建对象 ③使用变量和方法
8.4 类和对象的内存分析:图解见2019-6-8/img/15和16。
8.5 成员变量和局部变量的区别:图解见2019-6-8/img/15和17。
①位置 ②作用域 ③默认值 ④内存位置 ⑤生命周期
8.6 封装
①方法封装:将功能性代码进行抽取。
②private:类的成员变量封装,用private保护数据的有效性,防止客户任意输入数据,此时客户间接访问或者修改成员变量,通过setter/getter(isXXX,针对布尔变量)。图解见2019-6-8/img/18。
9.构造方法
9.1 作用:为新创建的对象赋予初始值。
9.2 实质:只要创建对象就会马上调用。
注意事项见2019-6-9/img/1
10.标准类的组成
10.1 别名:JAVA BEAN
10.2 组成见图:2019-6-9/img/2