当前位置: 代码迷 >> J2SE >> 关于break在Switch中的作用解决方法
  详细解决方案

关于break在Switch中的作用解决方法

热度:38   发布时间:2016-04-24 01:56:20.0
关于break在Switch中的作用
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;
是不会执行的,
所以继续向下执行...
  相关解决方案