费解的switch

jdgdf566 2013-12-07 02:42:31

switch (code) {
case -1:
jFrameTop.jLabel2.setText("连接网络失败");
break;
case -2:
jFrameTop.jLabel2.setText(chunk.message);
break;
}

如果第4行没有,竟然会执行第6行!费解的switch
...全文
403 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
JPF1024 2013-12-08
  • 打赏
  • 举报
回复
正常,要是没有break,就会一直往下执行。 试试这个



//...
switch(1){
   cast 1:
       System.out.println("1");
   cast 2:
       System.out.println("2");
   cast 3:
       System.out.println("3");
       break;
   cast 4:
       System.out.println("4");
}

//......


jdgdf566 2013-12-08
  • 打赏
  • 举报
回复
学C的时候,就是理解错了又纠正过来了,现在弄Java又犯了。
abcddjgkldj 2013-12-08
  • 打赏
  • 举报
回复
匹配了没碰到break就会每个case都执行,一直到default结束
长笛党希望 2013-12-08
  • 打赏
  • 举报
回复
语法就是这么规定的哦。
yeyuxp 2013-12-08
  • 打赏
  • 举报
回复
没有break的话就继续执行了啊,跟匹配不匹配没有关系。。
唯爱颖 2013-12-07
  • 打赏
  • 举报
回复
穿透了啊 匹配到之后直到break之前的都会执行
jdgdf566 2013-12-07
  • 打赏
  • 举报
回复
引用 10 楼 magi1201 的回复:
引用 9 楼 jdgdf566 的回复:
这就是为什么有if else了还有switch
if else if判断太多时,就没有switch直观了。
这只是一个原因。另一个原因就很难代替了。
姜小白- 2013-12-07
  • 打赏
  • 举报
回复
引用 9 楼 jdgdf566 的回复:
这就是为什么有if else了还有switch
if else if判断太多时,就没有switch直观了。
jdgdf566 2013-12-07
  • 打赏
  • 举报
回复
这就是为什么有if else了还有switch
jdgdf566 2013-12-07
  • 打赏
  • 举报
回复
引用 6 楼 magi1201 的回复:
楼上都说完了,碰到break跳出switch,没有break就一直向下去匹配。
不是的,下面的不符合条件也执行。
姜小白- 2013-12-07
  • 打赏
  • 举报
回复
楼上都说完了,碰到break跳出switch,没有break就一直向下去匹配。
teemai 2013-12-07
  • 打赏
  • 举报
回复
break关键字很重要。匹配到case之后,如果没有break,下面的case还会继续走
jdgdf566 2013-12-07
  • 打赏
  • 举报
回复
引用 3 楼 nmyangym 的回复:
switch 就这样,在哪匹配了条件,那么从那个地方开始,后边只关注是否有break, 只要遇到break 就结束;否则,要执行break之前的那些语句,而忽略条件判断语句。 语法就这样定义了。
thanks。入口和出口的问题。
nmyangym 2013-12-07
  • 打赏
  • 举报
回复
switch 就这样,在哪匹配了条件,那么从那个地方开始,后边只关注是否有break, 只要遇到break 就结束;否则,要执行break之前的那些语句,而忽略条件判断语句。 语法就这样定义了。
jdgdf566 2013-12-07
  • 打赏
  • 举报
回复
引用 1 楼 u011248395 的回复:
case -1没匹配到。。就会往下判断啊。 都没匹配执行default
case -1匹配到了
淡淡的蛋蛋 2013-12-07
  • 打赏
  • 举报
回复
case -1没匹配到。。就会往下判断啊。 都没匹配执行default

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧