当前位置: 技术问答>java相关
一个搞不懂的问题?请帮忙!!!!
来源: 互联网 发布时间:2015-03-02
本文导语: 别人运行了一下,结果却出乎意料地为4,搞不懂,众高手请发表看法! int i=1, j=1; switch(i) { case 2: j--; case 3: j--; default: j++; case 4: j++; case 5: j++; } 还有,怎么运行它,我...
别人运行了一下,结果却出乎意料地为4,搞不懂,众高手请发表看法!
int i=1, j=1;
switch(i)
{
case 2:
j--;
case 3:
j--;
default:
j++;
case 4:
j++;
case 5:
j++;
}
还有,怎么运行它,我很菜的。呵呵
int i=1, j=1;
switch(i)
{
case 2:
j--;
case 3:
j--;
default:
j++;
case 4:
j++;
case 5:
j++;
}
还有,怎么运行它,我很菜的。呵呵
|
switch语句中的case如果不带break的话,将继续执行后面的case.
i=1,所以,case 2和case 3跳过。执行default,一直到switch语句结束。
所以结果:j=4.
i=1,所以,case 2和case 3跳过。执行default,一直到switch语句结束。
所以结果:j=4.
|
完整结果应该是i=1,j=4;
流程是这样的首先由default:开始执行,然后是case 4:,case 5:,所以正好运行了三次j++,最后j=4
流程是这样的首先由default:开始执行,然后是case 4:,case 5:,所以正好运行了三次j++,最后j=4
|
问一下,为什么case 2,case 3没有执行(是不是因为i2,i3啊),而case 4,case 5却执行了呢?