为了账号安全,请及时绑定邮箱和手机立即绑定

为什么例子里num=1,却能执行case=1、2、3,而不是只执行case1呢,作业里又只执行default,想不明白

为什么例子里num=1,却能执行case=1、2、3,而不是只执行case1呢,作业里又只执行default,想不明白

正在回答

3 回答

switch....case语句中的每个case,如果你不在后面加上break,程序就会一直执行下去,所以你这个程序会有4个结果;同理,如果你的num=2的话,程序就会从case2开始执行,一直到结束,共有3个结果
0 回复 有任何疑惑可以回复我~
#1

qq_亡命之徒_2

如果你的case1语句最后,就是分号后面不加break,程序会依次执行
2016-05-29 回复 有任何疑惑可以回复我~
#2

去吧皮卡丘3304283 提问者

非常感谢!
2016-05-29 回复 有任何疑惑可以回复我~

循环要用break打断

0 回复 有任何疑惑可以回复我~
#1

去吧皮卡丘3304283 提问者

可这个也没有用break打断,为什么只执行default呢 public class HelloWorld { public static void main(String[] args) { char today='日'; switch(today){ case'1':System.out.println("吃包子"); case'3':System.out.println("吃包子"); default: System.out.println("吃主席套餐"); } } }
2016-05-29 回复 有任何疑惑可以回复我~
#2

qq_亡命之徒_2 回复 去吧皮卡丘3304283 提问者

因为你today对应的值是'日',而case语句中是1或者3,所以只执行default语句啊
2016-05-29 回复 有任何疑惑可以回复我~
#3

去吧皮卡丘3304283 提问者 回复 qq_亡命之徒_2

例子中int num=1;switch(num){ case1:System.out.println("奖励笔记本一台"); case2:System.out.println("奖励ipad2应该"); case3:System.out.println("奖励移动电源一个"); case4:System.out.println("奖励U盘一个");} 为什么运行结果是四个,而不是case1呢
2016-05-29 回复 有任何疑惑可以回复我~
#4

聆听的鱼 回复 去吧皮卡丘3304283 提问者

case 1: case 2: case 3: case 4: 因为从1到4,中间没有break打断,所以判断从1开始一直顺序执行到结尾。
2016-06-04 回复 有任何疑惑可以回复我~
查看1条回复

没有break打断

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么例子里num=1,却能执行case=1、2、3,而不是只执行case1呢,作业里又只执行default,想不明白

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信