break万万不可忘

简介:
复制代码
 1 public class Client {  
 2     public static void main(String[] args) {  
 3           System.out.println("2 = "+toChineseNumberCase(2));  
 4     }  
 5      
 6     //把阿拉伯数字翻译成中文大写数字  
 7     public static String toChineseNumberCase(int n) {  
 8           String chineseNumber = "";  
 9           switch (n) {  
10           case 0:chineseNumber = "零";  
11           break;
12           case 1:chineseNumber = "壹";  
13           case 2:chineseNumber = "贰";  
14           case 3:chineseNumber = "叁";  
15           case 4:chineseNumber = "肆";  
16           case 5:chineseNumber = "伍";  
17           case 6:chineseNumber = "陆";  
18           case 7:chineseNumber = "柒";  
19           case 8:chineseNumber = "捌";  
20           case 9:chineseNumber = "玖";  
21           }  
22           return chineseNumber;  
23     }  
24 }
复制代码

此类问题发生得非常频繁,但也很容易发现,只要做一下单元测试(Unit Test),问题立刻就会被发现并解决掉,但如果是在一堆的case语句中,其中某一条漏掉了break关键字,特别是在单元测试覆盖率不够高的时候(为什么不够高?在大点的项目中蹲过坑、打过仗的兄弟们可能都知道,项目质量是与项目工期息息相关的,而项目工期往往不是由项目人员决定的所以如果一个项目 的单元测试覆盖率能够达到60%,你就可以笑了),也就是说分支条件可能覆盖不到的时候,那就会在生产中出现大事故了。

记住在case语 句后面随手写上break,养成良好的习惯。

对于此类问题,还有一个最简单的解决办法:修改IDE的警告级别,例如在Eclipse中,可以依次点击 Performaces→Java→Compiler→Errors/Warnings→Potential Programming problems,然后修改‘switch’case fall-through为Errors级别,如果你胆敢不在case语句中加入break,那Eclipse直接就报个红叉给你看,这样就可以完全避免 该问题的发生了。

 

 



本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/5417559.html,如需转载请自行联系原作者
相关文章
|
17天前
|
前端开发 Java 程序员
面试官刁钻提问?轻松应对 break、continue 和 return 的巧妙用法
本次分享的主题是在面试break社招时被问到continue和return的区别与作用,面试官还刁钻的问了一些场景使用的坑点,小伙伴表示不太懂,现场有点慌。今天由我来给大家深入讲讲这三个关键词的区别和作用还会结合一些实战例子,保证你看完后不仅面试游刃有余,临时写代码也更得心应手,我们分为以下四部分。 1.了解背景铺垫的相关知识 2.Break、continue和return的定义 3.使用代码来实现三个关键字的逻辑 4.三个关键字在实践中应注意的坑点
|
3月前
|
前端开发 编译器
为什么switch里的case没有break不行
为什么switch里的case没有break不行
|
8月前
|
Python
Python基础教程——break语句
Python基础教程——break语句
|
8月前
|
C#
c#一文读懂continue、return、break区别
c#一文读懂continue、return、break区别
63 0
|
8月前
|
JavaScript Java Android开发
你胆敢在case后面不加break试试?
你胆敢在case后面不加break试试?
|
8月前
|
Java Android开发 Windows
你胆敢不加break试试?
你胆敢不加break试试?
|
8月前
|
前端开发
前端知识笔记(五)———break和continue的区别是什么?(详细)
前端知识笔记(五)———break和continue的区别是什么?(详细)
62 0
|
C语言
【C】循环(一看就懂)——while、for、do while、goto
【C】循环(一看就懂)——while、for、do while、goto
337 0
【C】循环(一看就懂)——while、for、do while、goto
复习C部分:三大循环while篇(内含continue(常用场景2)和break(常用场景1)介绍和使用详情)
复习C部分:三大循环while篇(内含continue(常用场景2)和break(常用场景1)介绍和使用详情)
89 0
复习C部分:三大循环while篇(内含continue(常用场景2)和break(常用场景1)介绍和使用详情)
|
Go 数据安全/隐私保护 开发者
break 课堂练习 | 学习笔记
快速学习 break 课堂练习
break 课堂练习 | 学习笔记