<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">有的人会想为什么switch语句中药价break。name不防来做一个实验,首先不加break,看看会发生什么:</span>
public class Sw {
public static void main(String[] args) {
int i=10;
switch(i){
case 0:
System.out.println("00");
case 3:
System.out.println("33");
case 10:
System.out.println("1010");
case 5:
System.out.println("55");
case 8:
System.out.println("88");
}
}
}
输出结果是:
1010
55
88
可以看到,它会把执行符合条件后边那么我要是加了break呢?
public class Sw {
public static void main(String[] args) {
int i=10;
switch(i){
case 0:
System.out.println("00");
case 3:
System.out.println("33");
case 10:
System.out.println("1010");
break;
case 5:
System.out.println("55");
case 8:
System.out.println("88");
}
}
}
输出来的只有 1010 了,并不会执行后边的语句。
所有我们要是想符合条件后跳出switch语句,需要加上break。
至于为什么这么设计我不知道,但是可以这么理解:
一开始开关是关的,只有符合条件之后开关才会打开,当没有break的时候,开关打开后,后边的也就会进来。当加了break,那么久相当于开了一下开关,然后又关上了,别人就进不来了。