你胆敢在case后面不加break试试?
我們經常在實際開發中會用到一些轉換類,比如在金融界中,我們需要將1轉換為“壹”,2轉換成“貳”。還有類似這樣的需求,食堂在一周內每天的菜單都是不一樣的,周一為魚香肉絲+雞腿,周二為爆炒土豆絲+鲅魚,周三為西紅柿炒雞蛋+牛肉片等等,我們可以用代碼來模擬一下阿拉伯數字轉換為“中國式”數字的需求:
//java實現將阿拉伯數字轉換成中國式數字public?static?void?testCastNum(){int?num = 2;String chinaNum = "";switch?(num) {case?1:chinaNum = "壹";case?2:chinaNum = "貳";case?3:chinaNum = "叁";case?4:chinaNum = "肆";case?5:chinaNum = "伍";case?6:chinaNum = "陸";case?7:chinaNum = "柒";case?8:chinaNum = "捌";case?9:chinaNum = "玖";}System.out.println(chinaNum);}這是一個簡單的不能在簡單的案例,大家一看就明白,那我們運行一下,發現結果輸出的是“玖”,為什么?
我們回來在看看程序,哦,原來是case后面忘記加break了,程序從case2執行完之后繼續執行,chinaNum的值從“貳”、“叁”、“肆”一直到“玖”才結束,因為在switch中,自始至終都未發現break,所以就一直執行。
有人可能會質疑,這樣的小兒科我是不可能煩的,錯誤太簡單了,我只能說,你參與過的并沒有太復雜,在大點的項目中蹲過坑、打過仗的兄弟們都知道,switch中經常會遇到一堆case語句,又和別的業務嵌套在一起,你說落一個break正常不,最正常不過了。
下面的小卡片點一點就是對我的最大的支持了,感謝您的支持,點一下即可,謝過主上!
那么我們應該如何防止這樣的看似低級小兒科的實則又常犯的錯誤呢?
修改編輯器的警告級別,比我在myeclipse或者eclipse中,一次點擊windows-->preferences-->java-->Compiler-->Errors/Warnings-->Potential programming problems-->”’switch’ case fall-througn”,
將后面的錯誤級別修改為Error,你膽敢在case后面不加break試試?我就直接給你報紅色叉號,別說運行了,編譯都不讓你通過!!!
當然,你也可以改其他的錯誤級別,自己改的試試哦~
文章參考:《編寫高質量代碼改善java程序的151個建議》
支持作者
贊賞就不用啦,生活都不易,右下角的“在看”點一下,文章最底部的小guang告點一點,如果感覺文章不錯,記得分享到朋友圈讓更多人知道!
什么?java中居然可以執行js代碼了?真是不知者不怪
2020-06-16
你知道i=i++;的含義嗎?原理其實沒有你想的那么簡單
2020-06-15
老師,我沒有學過事務……同學你過來,你看老師手里拿的是什么?
2020-06-11
總結
以上是生活随笔為你收集整理的你胆敢在case后面不加break试试?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你胆敢不加break试试?
- 下一篇: 使用SendBird强大的聊天API整理