你胆敢不加break试试?
我們經(jīng)常在實(shí)際開發(fā)中會(huì)用到一些轉(zhuǎn)換類,比如在金融界中,我們需要將1轉(zhuǎn)換為“壹”,2轉(zhuǎn)換成“貳”。還有類似這樣的需求,食堂在一周內(nèi)每天的菜單都是不一樣的,周一為魚香肉絲+雞腿,周二為爆炒土豆絲+鲅魚,周三為西紅柿炒雞蛋+牛肉片等等,我們可以用代碼來模擬一下金融項(xiàng)目的需求:
//java實(shí)現(xiàn)將阿拉伯?dāng)?shù)字轉(zhuǎn)換成中國式數(shù)字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);}這是一個(gè)簡(jiǎn)單的不能在簡(jiǎn)單的案例,大家一看就明白,那我們運(yùn)行一下,發(fā)現(xiàn)結(jié)果輸出的是“玖”,為什么?
我們回來在看看程序,哦,原來是case后面忘記加break了,程序從case2執(zhí)行完之后繼續(xù)執(zhí)行,chinaNum的值從“貳”、“叁”、“肆”一直到“玖”才結(jié)束,因?yàn)樵趕witch中,自始至終都未發(fā)現(xiàn)break,所以就一直執(zhí)行。
有人可能會(huì)質(zhì)疑,這樣的小兒科我是不可能煩的,錯(cuò)誤太簡(jiǎn)單了,我只能說,你參與過的并沒有太復(fù)雜,在大點(diǎn)的項(xiàng)目中蹲過坑、打過仗的兄弟們都知道,switch中經(jīng)常會(huì)遇到一堆case語句,又和別的業(yè)務(wù)嵌套在一起,你說落一個(gè)break正常不,最正常不過了。
那么我們應(yīng)該如何防止這樣的看似低級(jí)小兒科的實(shí)則又常犯的錯(cuò)誤呢?
修改編輯器的警告級(jí)別,比我在myeclipse或者eclipse中,一次點(diǎn)擊windows–》preferences–》java–》Compiler–》Errors/Warnings–》Potential programming problems–》?”’switch’ case fall-througn”,
將后面的錯(cuò)誤級(jí)別修改為Error,你膽敢在case后面不加break試試?我就直接給你報(bào)紅色叉號(hào),別說運(yùn)行了,編譯都不讓你通過!!!
當(dāng)然,你也可以改其他的錯(cuò)誤級(jí)別,自己改的試試哦~
總結(jié)
以上是生活随笔為你收集整理的你胆敢不加break试试?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 玩现代战舰要什么配置?
- 下一篇: 你胆敢在case后面不加break试试?