黑马程序员技术交流社区

标题: 小问题,你能懂否 [打印本页]

作者: 蠢蠢的    时间: 2016-3-27 18:40
标题: 小问题,你能懂否

switch(i)

{

   case  1: System.out.println("message1");

   case  2:

   case  3: System.out.println("message2");

   break;

}
当整数变量值为多少时,只会输出" message 2"?


作者: yuyakai    时间: 2016-3-27 18:48
不懂,求大神指点
作者: dengxuye    时间: 2016-3-27 19:00
这是啥玩意?
作者: sdx_1234    时间: 2016-3-27 19:38
2 和3 时吧
作者: 霸道总裁爱村花    时间: 2016-3-27 19:48
2 和3。。。。。
作者: lgdbest    时间: 2016-3-27 19:55
switch() 括号里边是表达式,你那放的是什么
作者: lyoivneg    时间: 2016-3-27 20:26
3   等于2时穿透了 但是没输出  输入3  后遇到break 跳出
作者: yuyakai    时间: 2016-3-29 20:46
看不清楚
作者: 眯眯神    时间: 2016-3-29 21:18
2和3吧,case1没有break,要是i=1会穿透
作者: lidandan    时间: 2016-3-29 21:44
为2或者为3的时候都可以输出message2
作者: 妄想年少轻狂    时间: 2016-3-29 22:43
i等于2和3啊
作者: 晴苑    时间: 2016-3-29 22:49
3,是3吧
作者: toxic罐头儿    时间: 2016-3-29 22:58
2或者3都可以,case穿透现象
作者: 604840337    时间: 2016-3-29 23:40
不是2和3吗?
作者: sensir    时间: 2016-3-29 23:51
2或3都可以
作者: zapple926    时间: 2016-3-30 00:55
2和3,2的话会case会穿透,同样会只输出“message2”,然后break 结束
作者: 守徒徒    时间: 2016-3-30 01:14
2或者3时吧!
作者: 长衫造纸农_    时间: 2016-3-30 08:39
为什么不每个case都写个break呢,这样就不会疑惑了,很少有你这样写代码的。
作者: haitao    时间: 2016-3-30 09:53
我也感觉是2和3.

作者: maikly    时间: 2016-3-30 10:57
i=2和3吧
作者: user_lqb    时间: 2016-3-30 11:03
2或者3。
作者: ruigao1993    时间: 2016-3-30 15:13
2,3,输入1的话,message1,message2都会显示
作者: 小海龙    时间: 2016-3-30 15:31
这就是为什么教学时要求每个case后都需要加break的原因
作者: 淡然无味    时间: 2016-3-30 15:32
2和3的时候,出现2的时候会出现穿透,实际上这里执行了case2和case3里面的内容,只是case2里面没有显示,看不出来效果,
作者: 淡然无味    时间: 2016-3-30 15:34
长衫造纸农_ 发表于 2016-3-30 08:39
为什么不每个case都写个break呢,这样就不会疑惑了,很少有你这样写代码的。 ...

有的时候需要用到这样的语句哈
就比如java基础视频里面的利用switch判断季节的例子
作者: 小海龙    时间: 2016-3-30 15:36
这就是为什么教学时要求每个case后都需要加break的原因
不进行break,程序就会继续向下执行




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2