概述

switch语句将从与选项值相匹配的case标签处开始执行直到遇到break语句,或者执行到switch语句的结束处为止。如果没有相匹配的case标签,而有default子句,就执行这个子句。(必须严格执行每个case必须以break语句结束,不然程序会继续执行下去,直到遇到break语句或者执行到default语句)

正确的例子

Java代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {
int i = 1;
switch (i) {
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
default:
System.out.println(3);
break;
}
}

结果:

img

错误的例子

Java代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {
int i = 1;
switch (i) {
case 1:
System.out.println(1);

case 2:
System.out.println(2);

default:
System.out.println(3);
break;
}
}

结果:

img

结果分析

在错误的例子中,即使只有条件1符合条件,但是由于没有break语句终止程序,程序会继续执行下去,直到遇到break语句或执行完程序。(如果条件2有break语句,那么控制台只输出1和2)