黑马程序员技术交流社区

标题: 赐教 [打印本页]

作者: 小潘潘    时间: 2016-7-15 07:28
标题: 赐教
switch () {
执行语句;
case 值;
break;
如果有多个case,其中的break可以省略吗?

作者: yuxing    时间: 2016-7-15 08:20
不可以,这样说吧,switch只有碰到程序结尾和break才会停止,不然它会验证正确的case一直往下走~
作者: ylca    时间: 2016-7-15 08:26
楼上正解!!!
作者: 新晋猿工    时间: 2016-7-15 09:03
楼上的楼上正解
作者: 15242694137    时间: 2016-7-15 10:16
楼主自己敲下不就知道了吗
作者: 新人—小明同学    时间: 2016-7-15 21:38
不可以.会出现case穿透.
作者: elopment    时间: 2016-7-15 22:36
楼上都说不可以.但是有时候case穿透也可以利用啊,. 并不是什么时候都不可以.还是看需求.
作者: miniccc    时间: 2016-7-15 23:22
可以省略,程序找到下一个break后停止
作者: xfbyxq    时间: 2016-7-15 23:32
可以  777777777777777777777777777777
作者: jmf332376308    时间: 2016-7-15 23:49
不能,如果不使用break就无法跳出语句,继续执行下面的语句。
作者: 张程浩    时间: 2016-7-16 00:12
不可以省略,逗B。那样会case穿透的。好好背一下概念吧哥们,我只考40多分
作者: 夏萱    时间: 2016-7-16 01:31
好像是C#会跳出,C和Java会继续执行下一个case直到break或结束
作者: cat73    时间: 2016-7-16 03:42
本帖最后由 cat73 于 2016-7-16 03:51 编辑

Google Java Style 中指出,每个语句尾要么通过 break continue return 或异常终止,要么通过注释说明程序会执行到下一个语句,最后一个语句则可以省略注释。
例外的,如果一个语句没有任何内容,则可以忽略这条规则。
例子:
  1. switch (input) {
  2.   case 1:
  3.   case 2:
  4.     prepareOneOrTwo();
  5.     // fall through
  6.   case 3:
  7.     handleOneTwoOrThree();
  8.     break;
  9.   default:
  10.     handleLargeNumber(input);
  11. }
复制代码


详情请看 https://google.github.io/styleguide/javaguide.html#s4.8.4-switch 中的 4.8.4.2 小节



作者: 施天宇    时间: 2016-7-16 08:52
不可以...




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