对于代码:
package my.struct;
public class First {
public static void main(String[] args) {
int a = 2;
switch(a) {
case 1:
System.out.println("1!");
case 2:
System.out.println("2!");
case 3:
System.out.println("3!");
default:
System.out.println("Default!");
case 4:
System.out.println("4!");
case 5:
System.out.println("5!");
case 6:
System.out.println("6!");
}
}
}
输出:(匹配case2)
将a值改为5(匹配case5)
输出 :
将a值改为7(不匹配任何case)
输出:
对上述三个例子进行改动,分别在default后加上break
default:
System.out.println("Default!");
break;
分别得到
结果1:(匹配case2)
结果2:(匹配case5)
结果3:(不匹配任何case)
总结:
switch语句一旦匹配上任意case,就会从此case开始顺序执行下去,直到碰到break跳出。而这种顺序执行是包括default的。
而如果没有匹配到任意语句,则从default开始顺序执行下去,直到碰到break停止。