当前页面: 开发资料首页 → J2SE 专题 → 一个switch问题,大家看看 
一个switch问题,大家看看 
摘要: 一个switch问题,大家看看  
int i=1, j=0 ;
switch(i)  { 
case 2: 
j+=6; 
case 4: 
j+=1; 
default: 
j +=2; 
case 0: 
j +=4; 
} 
System.out.println(j);
结果为什么是6呢?不解
没有break的case分支不会直接退出switch,而是继续执行下面的代码
switch语句每个case里都必须要有break;来退出switch语句
switch(i)  { 
case 2:{ 
j+=6; 
                   break;
                  }
case 4:{ 
j+=1; 
                    break;
                   }
default:{ 
j +=2; 
                   break;
                  }
case 0:{ 
j +=4; 
                   break;
                  }
}
i=1
没有相应的case分支,所以执行default: j=0+2=2
default分支没有break,继续执行下面的代码:j=2+4=6!!!!!
楼上正解!
晕   缺少break;当然往下运行了   汗
晕   缺少break;当然往下运行了   汗