当前位置: 代码迷 >> J2SE >> 问个很简单的java有关问题
  详细解决方案

问个很简单的java有关问题

热度:44   发布时间:2016-04-24 02:09:19.0
问个很简单的java问题!
public class Nb
{
public static void main( String []args )
{
  int x=0; 
if(x>0)
  x=1;
switch(x){
  case 1:
System.out.println(1);
  case 0:
System.out.println(0);
 case 2:
System.out.println(2);
break;
 case 3:
System.out.println(3);
 default:
System.out.println(4);
break;
}
}
}

执行结果是:0 2 为什么有2个结果?为什么结果是0和2?

------解决方案--------------------
应该是switch穿透问题...
一般在每个case 语句后都要加break的。。

------解决方案--------------------
就是说你找到满意的结果之后要跳出switch。
break就是跳出。
不然当然要往下执行。直到遇到break或者结尾。
  相关解决方案