流程控制
# 流程控制
# 顺序结构
没有特定的语法结构,按照代码的编写顺序依次执行
# if 语句
格式:
if(关系表达式){
语句体;
}
1
2
3
4
5
2
3
4
5
关系表达式值为 true 就执行语句体
关系表达式值为 false 就不执行语句体,继续执行 if 语句后的语句
if 语句格式 2
if(关系表达式){
语句体;
} else {
语句体2;
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
关系表达式值为 true 就执行语句体 1
关系表达式值为 false 就执行语句体 2
if 语句格式 3
if(关系表达式1){
语句体1;
} else if (关系表达式2){
语句体2;
} ··· // 可有多个else if
else{
语句体n
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
首先计算关系表达式 1 的值
如为 true 则执行语句体 1,如为 false 则判断关系表达式 2,直到 elseif 全为 false 才执行 else 中的语句体
# switch 语句
格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体1;
break;
case 值n:
语句体n;
break;
default:
语句体n+1;
[break];
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
表达式:取值为 byte、short、int、char,jdk5 以后可以是枚举,jdk7 以后可以是 String。
case: 后面跟的是要和表达式进行比较的值
break: 表示中断 / 结束,用来结束 switch 语句
default: 表示所有 case 都不匹配的时候执行该内容,跟 else 差不多
# case 穿透
如果 case 的语句体后面不写 break,将会出现穿透现象,在不判断下一个 case 值的情况下,继续往 下执行直到遇到 break 或者 switc 语句结束
如:
switch (n){
case 1:
case 2:
case 3:
System.out.println("123");
break;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
如果 case1 成立则往下执行 case2、case3 里的语句体然后 break 结束
编辑 (opens new window)
上次更新: 2023/12/06, 01:31:48