首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【答疑解惑】java中switch语句陷阱

【答疑解惑】java中switch语句陷阱

作者头像
程序员互动联盟
发布于 2018-03-13 16:58:03
发布于 2018-03-13 16:58:03
1.6K0
举报

语音版:

今天群中小伙伴们遇到了一个switch问题我给大家讲解一下,算是Java中的小陷阱吧。

Java中的switch语句穿透:

今天一同学写了类似下面的代码:

int a = 2; switch (a) { case 1: System.out.println(" 1 "); case 2: System.out.println(" 2 "); case 3: System.out.println(" 3 "); case 4: System.out.println(" 4 "); default: System.out.println(" default ");

不知道大家能否看出来这种写法是有问题的,因为每一个case都没有添加break,所以在执行的时候会出现穿透效果,按道理应该只执行a为2的case,可是case等于3、4和default都执行了,在编程中这种情况很低级,但是会有发生,请大家注意一下。一个比较好的习惯是在写case语句的时候先写一条case加上break,不写具体case中的逻辑,然后复制多个,再修改case,再编写每一条case的逻辑。

有不明白Java控制语句的同学可以查看我之前的文章,Java控制流程,里面详细的用图讲解了Java中各种控制语句的执行过程。

上面的代码输出结果:

2 3 4 default

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档