A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小潘潘 中级黑马   /  2016-7-15 07:28  /  778 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

switch () {
执行语句;
case 值;
break;
如果有多个case,其中的break可以省略吗?

15 个回复

倒序浏览
不可以,这样说吧,switch只有碰到程序结尾和break才会停止,不然它会验证正确的case一直往下走~
回复 使用道具 举报
楼上正解!!!
回复 使用道具 举报
楼上的楼上正解
回复 使用道具 举报
楼主自己敲下不就知道了吗
回复 使用道具 举报
不可以.会出现case穿透.
回复 使用道具 举报
楼上都说不可以.但是有时候case穿透也可以利用啊,. 并不是什么时候都不可以.还是看需求.
回复 使用道具 举报
可以省略,程序找到下一个break后停止
回复 使用道具 举报
xfbyxq 中级黑马 2016-7-15 23:32:17
9#
可以  777777777777777777777777777777
回复 使用道具 举报
不能,如果不使用break就无法跳出语句,继续执行下面的语句。
回复 使用道具 举报
不可以省略,逗B。那样会case穿透的。好好背一下概念吧哥们,我只考40多分

点评

Google Java Style 中指出,每个语句尾要么通过 break continue return 或异常终止,要么通过注释说明程序会执行到下一个语句,最后一个语句则可以省略注释。  发表于 2016-7-16 03:40
会穿透并不代表不能这样写呀。  发表于 2016-7-16 03:34
回复 使用道具 举报 0 1
好像是C#会跳出,C和Java会继续执行下一个case直到break或结束
回复 使用道具 举报
cat73 黑马帝 2016-7-16 03:42:06
13#
本帖最后由 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 小节


回复 使用道具 举报
不可以...
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马