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或者结尾。