1 流程控制语句
(1)顺序结构 从上往下,依次执行
(2)选择结构 根据条件的不同,执行不同的代码
(3)循环结构 根据条件,循环执行代码
2 if语句
(1)三种格式
A:格式1
if(表达式) {
语句体;
}
表达式的值是:true 执行代码块
fasle不执行代码块
B:格式2
if(表达式) {
代码块1;
}else {
代码块2;
}
执行流程:
判断表达式的值,
true,就执行代码块1
false,就执行代码块2
C:格式3
if(表达式1) {
代码块1;
}else if(表达式2){
语句体2;
}
...
else {
语句体n+1;
}
执行流程:
判断表达式1的值,
如果是true,就执行代码块1
如果是false,就继续判断表达式2的值,
如果是true,就执行代码块2
如果是false,就继续判断表达式3的值
...
如果都不满足,就执行代码块n+1
D:注意:无论表达式简单复杂,结果都是boolean类型
大括号的内容是一条可以省略,但是建议不要省略
C:三目运算符和if
因为三元运算符是运算符,必须要返回结果 ,不能输出语句。
if语句可以判断之后做复杂的处理
2 switch语句(掌握)
(1)格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
格式解释说明:
switch:说明这是switch语句。
表达式:可以是byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
case:后面的值是常量,是要和表达式进行比较的值,
break:表示程序到这里中断,跳出switch语句
default:所有的情况都不匹配,会执行,相当于if语句中的else
(2)注意事项:
A:case后面只能是常量,不能是变量,case的值不能相同
B:default可以省略吗?
可以省略,但是不建议,他可以处理不满足条件的情况。
C:break可以省略吗?
可以省略,结果可能不是我们想要的。
省略的现象:case穿透。
不建议省略
D:default一定要在最后吗?
不是,可以在任意位置。但是建议在最后。
(3)案例:
A:键盘录入一个数字(1-7),输出对应的星期几。
B:输出月份对应的季节
(4)if语句和switch语句各自的场景
A:if
根据条件的结果(boolean)判断,执行的代码
B:switch
根据条件里的值(byte,short,int,char,...)
和case 的值匹配(等值判断).
3循环语句for,while,do…while
(2)for循环语句
A:格式
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
执行流程:
a:执行初始化语句
b:执行判断条件语句
如果这里是true,就继续
如果这里是false,循环就结束
c:执行循环体语句
d:执行控制条件语句
e:回到b
B:注意事项
a:判断条件语句无论简单还是复杂,结果是boolean类型
(3)while循环
A:基本格式
while(判断条件语句) {
循环体语句;
}
扩展格式:
初始化语句; //int i = 0;
while(判断条件语句){ //i<10
循环体语句;
控制条件语句; //i++;
}
(4)do...while循环
A:基本格式
do {
循环体语句;
}while(判断条件语句);
B:三种循环的区别
a:do...while循环至少执行一次循环体
b:for和while必须先判断条件是否是true,然后后才能决定是否执行循环体