11月28日
一、基础语法
1、语句控制结构
1)顺序结构
2)选择分支结构
A.if()/ if()...else.../ if()...else if()...else...
B.switch(expression)
{case 1 : 语句块; break;
case 2 : 语句块; break;
....
default : 语句块;}
a.小心 case 穿透,后面使用 break 语句
b.多个 case 可以合并
c.default 可以省略,它的位置不会影响程序的执行,总是最后执行
注:switch 只能探测到 int 类型值(byte/ short/ char/ int/ enum)
3)循环结构
A.for(表达式 1; 判断条件; 表达式 2 ){....}
B.while(判断条件){...}
C.do{...}while(判断条件);
注:do{}while(); 后面有分号(;)
while vs. do...while
do ... while 不管条件满不满足都会执行一次循环体
2、break vs. continue
break 语句用于终止某个语句块的执行,用在循环语句体中,可以强行退出循环。
continue 用在循环语句体中,用于终止某次循环,跳出当前循环继续执行下一次
的循环语句。
3、异常
NumberFormatException 数字格式化异常
对数字进行转换时发生的异常
二、面向对象(面向对象软件开发是一个建模的过程)
1、面向对象考虑问题的思维步骤:
1)考虑该问题域有哪些个对象哪些个类
2)类(对象)中有哪些个方法和属性
3)类和类之间具备了什么样的关系
2、类 & 对象
类
1)人脑中的一种主观认识(具体 --> 抽象)
2)通过类创建对象(抽象 --> 具体)
对象
1)new 出来
2)内存空间中存放的是引用
栈内存:
a.方法执行完毕,释放内存
b.内存要求有限,大小固定
堆内存:
a.大小没有限制
b.内存大小变化时
3)对象的生命周期
a.引用存在,对象会感知到
b.引用不存在,对象就成垃圾,等待 GC 回收
3、java 的注释(3种)
1) // 单行注释
2) /*
* 多行注释
*/
3)/**
* @ since 多行注释,可以被 Doc 工具解析生 html 文档
*
**/
命令举例:javadoc ./docs *.java
补充:
1、Scanner 类
从键盘中接收输入
package: java.util.*;
用法举例:
Scanner scan = new Scanner(System.in);
int num = scan.nextInt(); //nextInt() 阻塞方法
2、oop vs. opp
oop 关注以数据为中心兼顾功能(数据稳定),更接近人的思维方式
opp 关注过程为中心,自顶而下,逐步求精
3、oop 编程
步骤
1)定义类(抽象、概念化)
2)编写测试类
3)在测试类中编写创建对象的代码,模拟世界
4、JVM 的内存分析
Dog d = new Dog();
d : 在 stack 上定义的引用变量(对象的地址)
new : 在 heap 是开辟内存空间(根据类的属性)
引用的作用
1)保存对象的地址
2)访问对象,调用对象上方法
引用 :对象 (n : 1)
一旦没有引用指向时,对象就成为垃圾,等待 GC 回收