当前页面: 开发资料首页 → 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;当然往下运行了 汗