流程控制语句:
顺序结构:从上往下,从左往右依次逐行来执行。
sop(5+5+"hello"+5+5);
选择结构:
if语句:
格式1:
格式:
if(条件表达式) {
语句体;
}
执行流程:
A:先计算条件表达式的值,看是true还是false。
如果是true,就执行语句体,
如果是false,不执行语句体。
注意事项:
A:条件表达式的结果只能是boolean类型。
B:如果if控制的语句体是一句,那么大括号可以省略,如果是多句,不能省略。
推荐,永远不要省略。
C:一般来讲,左大括号和分号不能共存。
格式2:
格式:
if(条件表达式) {
语句体1;
} else {
语句体2;
}
执行流程:
A:先计算条件表达式的值,看是true还是false。
如果是true,就执行语句体1,
如果是false,就执行语句体2。
思考:if的第二种格式和三元表达式有什么区别?
能用三元运算符解决的问题,都可以用if来做,反之不成立。
格式3:
格式:
if(条件表达式1) {
语句体1;
} else if(条件表达式2) {
语句体2;
} else if(条件表达式3) {
语句体3;
} else if(条件表达式4) {
语句体4;
}
。。。
else {
语句体5;
}
执行顺序:
A:先判断条件表达式1的结果,看结果是true还是false
如果是true,就执行语句体1,之后if语句结束。
如果是false,就继续判断条件表达式2,看结果是true还是false
如果是true,就执行语句体2,之后if语句结束。
如果是false,就继续判断条件表达式3,看结果是true还是false
。。。。。。。
所有的if都不满足,就走else中的语句体。
键盘录入一个成绩,判断(判断标准见备注)并输出成绩的等级。
90-100 优
80-89 良
70-79 中
60-69 及
0-59 差
第一版:普通版(if语句中有两个判断条件)
第二版:增强版(if语句中只有一个判断条件)
第三版:变态版(用switch语句改进)
if(score>=0 && score<=100) {
switch
} else {
不合法
}
第四版:究极版(用String来改进)
if的嵌套:
switch-case语句:
格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
.....
default:
语句体3;
break;
}
执行流程:
先计算表达式的值,然后从第一个case进行匹配,能匹配上就执行对应的语句体,
如果所有的case都匹配不上,就执行default中的内容。
注意:
表达式可以放什么?
byte,short,char,int,JDK1.5以后支持枚举,JDK1.7以后支持字符串(String)。
练习题:给定一个值(整数),输出对应星期几
注意事项:
1、case后边只能是常量,不能是变量,多个case不能出现重复值。
2、default可以省略,但是他记录的是所有非正常情况,一般不省略。
3、最后一个break可以省略,对程序的结果没有影响,
其他break如果省略的话,可能发生case穿透的情况。
4、default可以不放在最后,可以放在任意位置,但是一般放在最后。
5、switch语句什么时候结束?
A:遇到break。
B:执行到switch语句的右大括号。
if语句和switch语句有什么区别?
if语句主要用于 做范围 的判断。
switch语句主要用于 做固定值 的判断。
能用switch做的都可以用if来做,反之不行。
|
|