黑马程序员技术交流社区
标题: 小问题,你能懂否 [打印本页]
作者: 蠢蠢的 时间: 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
有的时候需要用到这样的语句哈
就比如java基础视频里面的利用switch判断季节的例子
作者: 小海龙 时间: 2016-3-30 15:36
这就是为什么教学时要求每个case后都需要加break的原因
不进行break,程序就会继续向下执行
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |