Day03(流程控语句)
2018年1月17日
8:48
流程控制语句
分类:
顺序结构
选择结构
循环结构
顺序结构
从上往下,依次执行
选择结构(也称分支结构)
if语句(三种格式)
格式1:
if(关系表达式){ //(只要结构是boolean类型的结果就可以,也可以是boolean类型的常量)
语句体;
}
执行流程:
A:首先计算关系表达式,看是true还是false
B:如果是true,就执行语句体
C:如果是false,就不执行语句体
注意:如果if语句体只有一行代码可以省略大括号
格式2:
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程
A:首先计算关系表达式的值。看是teue还是false
B:如果是true,执行语句体1
C:如果是false,执行语句体2
格式3:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
...
else {
语句体n+1;
}
执行流程:
A:计算关系表达式1的值,看是true还是false
B:如果是true,就执行语句体1
C:如果是false,就继续计算关系表达式2的值,看是true还是false
D:如果是true,就执行语句体2
E:如果是false,就继续计算关系表达式3...的值,看是true还是false
F:当所有的关系表达式都是false时,就执行语句体n+1
注意:
代码分为两个时期:编译时期和运行时期
在未执行代码时,计算机只能从格式判断代码的对错
若范围重叠,只执行满足条件的第一个语句,后面条件就算满足也不执行
多条件时,建议使用if语句格式3,因为格式3的执行效率高
将大的问题简单化
switch语句:
格式:
Switch(表达式) {
case值1:
语句体1;
break;
case值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
格式解释:
表达式:byte,short,int, char
JDK5以后可以枚举
JDK7以后可以是字符串
case后面的值:就是用来和表达式的值进行匹配的内容
break:表示中断的意思
default:所有值都不匹配时,就执行default
执行流程:
A:首先计算表达式的值
B:拿计算出来的值,依次和case后面的值进行比较,一旦有匹配的,就执行对应的语句体,在执行过程中,遇到break就结束
C:如果所有的case值都不匹配,就执行语句体n+1
注意:
表达式计算后的值都是较小的数字
case后不能为变量
如果没有break,case会穿透,不会匹配,直到执行到下一个break
switch语句中的default语句可以放在任何位置,放在最后break可以省略不写
循环结构语句
java提供三种循环语句
for循环语句
格式:
for(初始化语句;判断条件语句;控制条件) {
循环体语句;
}
执行流程:
A:执行初始化语句
B:执行判断语句,看其结果是true还是false
如果是false,就结束循环
如果是true,就继续执行
:执行循环体语句
D:执行控制条件语句
E:回到B继续
初始化语句中的统计变量只执行一次
for循环最少执行0次
变异体:
int i = 1;
for(;i<=10;) {
System.out.println("HelloWorld");
i++;
}
for(int x=1; true; x++) {
}
System.out.println(x); //会报错 | 因为这句代码前面是死循环,它不可能被执行 |
死循环应用:一般的应用程序会用到死循环,外围是用死循环包裹起来的
如果想打印最终结果,就在for循环外边
如果跟踪变量变化情况时,输出就写在for循环里
while循环
格式:
while(判断条件语句) {
循环语句;
}
扩展格式:
初始化语句;
while(判断语句) {
循环语句;
控制条件语句;
}
while循环的高级用法
语句的跳转,跳转到之前的某一位置
do…while循环
格式
do {
循环体语句;
}while(判断条件语句);
扩展格式
初始化语句;
do {
循环体语句;
控制条件语句;
while(判断条件语句);
执行流程:
A:执行初始化语句
B:执行循环体语句
C:执行控制条件语句
D:执行判断条件语句,看是true还是false
如果是false,就结束循环
如果是true,回到B继续
注意:
do…while循环最少执行一次
三种循环的区别
A:do...while循环至少执行一次循环体
B:for和while循环必须判断条件成立才可以执行循环体
for循环和while循环区别:
for循环结束后,初始化的变量就不能被使用了,而while循环结束后,初始化的变量还可以继续使用。
知道循环次数用for,不知道循环次数用while
关键字break, continue
break:中断的意思
使用场景
A:switch语句中
B:循环中
注意:
离开使用场景没有意义
用来结束整个循环的
continue:继续的意思
使用场景
循环中
作用:结束这一轮循环,继续下一次循环
注意:
离开使用场景没有意义
|