public class TestSwitch {
public static void main(String[]args){
int x=8;
switch(x){
case 1:System.out.println("case 1");
break;
case 2:System.out.println("case 2");
case 3:System.out.println("case 3");
case 8:System.out.println("case 8");
case 5:case 6:case 7:
System.out.println("case 5 6 7");
}
}
}
结果:
case 8
case 5 6 7
。
疑问:
break已经在case 1:System.out.println("case 1");那么,应该退出整个switch语句,不应该再继续执行:
case 8:System.out.println("case 8");
case 5:case 6:case 7: System.out.println("case 5 6 7");
可是,为什么还是继续执行这两个语句呢?
本人是初学的菜鸟,请各位大仙指点。
------解决方案--------------------
貌似楼主对switch不是很理解吧?
你初始化x=8,那么你的switch语句相当于:switch(8)
必然首先执行的是 case 8 这一行,又因为case 8后面根本没有任何break语句,当然是一口气执行到底了。
------解决方案--------------------
你的x=8
所以
case 1:System.out.println("case 1");
break;
是不会执行的,
所以继续向下执行...