一、转义字符
1.含义:具有特殊意义的字符本身
2.内容:1)\" 表示一个双引号字符
2)\' 表示一个单引号字符
3)\ 表示一个斜杠字符
4)\n 表示换行符
5)\t 水平制表
3.注意点
System.out.print(""); ----表示输出不换行
System.out.println(""); --表示输出并换行
二、常量
1.含义:程序执行过程中不可发生改变的量
2.分类:
1)数字字面量:程序中出现的数字
整数数字默认int类型
小数数字默认double类型
2)字面值常量:使用双引号括起来的内容
ps:"今天好冷。"
3)final修饰的变量:最终变量-常量
final int i = 100;//这个变量的值不可以改变
注意点:字面值常量和final修饰的变量: 存放在常量池中,并且常量池中的数据不能重复,直到项目结 束时常量池中的数据才会被情况
三、Java的执行语句
1.循环的分类:
1)顺序语句:方法中的代码从上往下执行
2)分支语句:根据某个条件执行某个功能
2.1 if分支
2.2 switch分支
3)循环语句:某个条件成立就重复执行某个功能
3.1 for循环
3.2 while循环
3.3 do-while循环
4)特殊的流程控制语句
4.1 break
4.2 continue
4.3 return
4.4 lable
五、if分支
1、简单的if语句
1.语法结构:
if(表达式){
...代码块...
}
2.理解:表达式的结果必须是boolean类型 true - 执行代码块 false- 跳过if分支
3. if的作用:
1) if可以判断区间
2)if可以判断复杂条件
2、if...else...语句
1.语法结构:
if(表达式){ ...代码块... }else{ ...else代码块... }
2.理解:表达式的结果必须是boolean类型 true - 执行代码块 false- 执行else代码块
3.注意点:if...else...二选一的情况下使用
3、多重if语句
1.语法结构:
if(表达式1){
...代码块1...
}else if(表达式2){
...代码块2...
}else if(表达式n){
...代码块n...
}else{
...else代码块...
}
2.理解:
表达式的结果必须是boolean类型 从上往下判断,哪个表达式先成立(true),就执行对应的代码块 如果表达式都不成立,就执行else代码块 注意:else{}根据需求可写可不写
3.注意点:多重if在多选一的情况下使用
4.嵌套if语句:
1)if可以判断区间,也可以判断复杂条件,只要表达式的结果为boolean类型的值就ok
2)if(){} 要么进入要么不进入
3)if(){}else{} 二选一的情况下使用
4)if(){}else if(){}else{} 多选一的情况下使用
5)if支持无限层嵌套(嵌套三次以上可读性直线下降)
六、switch分支
1、switch语句的使用
1.语法结构:
switch(表达式){ case 值1: ...代码块1... break; case 值2: ...代码块2... break; case 值n: ...代码块n... break; default: ...default代码块... break; }
2.理解:
表达式的结果分别给值1、值2、值n比较 哪个相同就执行对应的代码块 如果都不相同就执行default代码块 default代码根据需求可写可不写
3.面试题:
case的值可以相同吗? 不可以 default可以省略吗? 可以
break可以省略吗? 可以
default的位置一定要在最后吗? 不一定
表达式值的类型可以是什么? byte、short、int、char、枚举(JDK1.5)、字符串(JDK1.7)
switch底层判断原理?
switch中判断的数据类型只有int
byte -- 自动向上转型成int
short -- 自动向上转型成int
char -- 获取字符的Unicode码
枚举 -- 获取对象在枚举中的序号
字符串-- 获取字符串的hash码
2、if vs switch表达式的区别
ifvsswitch表达式的区别:
if:boolean
switch:byte、short、int、char、枚举、字符串
应用场景的区别:
1)判断区间、复杂条件 选 if 2)判断单个值是否相同 选 switch
七、for循环
1、Java中的循环
1.理解:条件成立,就重复性的执行某个功能
2.好处:解决代码的冗余
3.分类:
1.for循环
2.while循环
3.do-while循环
2、for循环
1.语法结构:
for(表达式1;表达式2;表达式3){
...代码块/循环体...
}
2.理解: 表达式1 -- 初始化变量 表达式2 -- 判断条件(结果必须是boolean) 表达式3 -- 更新变量
3.执行步骤:
1.初始化变量
2.判断条件(结果必须是boolean)
2.1 true - 执行代码块,再更新变量,最后重复第2个步骤
2.2 false - 跳出整个循环语句
4.死循环: for(;;){ System.out.println("死循环"); } 5.伪死循环: for(int i = 0;i>=0;i++){ System.out.println("伪死循环"); }
6.小结:
1)初始化变量不一定从0开始,具体根据需求而定 2)更新条件不一定是++,具体根据需求而定 3)循环中声明的变量的作用域只在该循环中
7.注意点:
1)外层循环控制行数
2)内层循环控制列数