黑马程序员技术交流社区
标题:
复习swicth语句时遇到一个问题
[打印本页]
作者:
jinxiaodong
时间:
2016-1-3 19:58
标题:
复习swicth语句时遇到一个问题
public static void main(String[] args){
int x = 3;
int y = 3;
switch(x){
default:
y++;
break;
case 3:
y++;
case 4:
y++;
}
System.out.println("y="+y);
}
}
复制代码
代码如上,当int x = 3时,运行结果为y=5。
当把int x = 3换为int x = 4时,我认为运行结果为y=5,可实际运行结果却为y=4。
为什么会出现这种结果呢
x值为3,或者4的时候运行结果应该为一样的丫。
求大神们赐教。
作者:
z.qi
时间:
2016-1-3 20:21
case穿透问题,每条case语句没加break
x=3的时候, 不光执行了case3,还有case4
x=4的时候, 执行case4,然后到末尾程序结束.
作者:
luyang18
时间:
2016-1-3 21:54
2楼讲解得很详细
作者:
jinxiaodong
时间:
2016-1-4 08:04
z.qi 发表于 2016-1-3 20:21
case穿透问题,每条case语句没加break
x=3的时候, 不光执行了case3,还有case4
x=4的时候, 执行case4,然后到 ...
明白了,谢谢解答{:3_51:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2