如何在Java中使用switch?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、武陵源網(wǎng)站維護、網(wǎng)站推廣。
java中有兩個經(jīng)常用于條件判斷的方法,一個是if{}else{},另一個就是switch()了??偟膩碚f因為switch可以直接一對一滿足條件,不滿足條件的情況是不會執(zhí)行的的所以switch的效率會相對if{}else{}更高一些,而且這兩個方法是可以無門檻互換的。
switch的使用:
能用于switch判斷的類型有:byte、short、int、char(JDK1.6),還有枚舉類型,但是在JDK1.7后添加了對String類型的判斷
case語句中少寫了break,編譯不會報錯,但是會一直執(zhí)行之后所有case條件下的語句而不再判斷,直到default語句
若果沒有符合條件的case就執(zhí)行default下的代碼塊,default并不是必須的,也可以不寫
switch(mark) { case 0: System.out.println(mark); break; case 10: System.out.println(mark); break; case 20: System.out.println(mark); break; }
這里mark值是判斷條件,case 對應的是具體的值,如果mark=0或者mark=10或者mark=20,相對應的條件成立就會執(zhí)行case中的程序
在這里有一個思維誤區(qū)很容易出錯,看下面代碼:
switch(mark) { case 0: System.out.println(mark); mark = 10; break; case 10: System.out.println(mark); mark = 20; break; case 20: System.out.println(mark); mark = 30; break; }
這段代碼比和上面的代碼相比,在每個case中會重新給mark賦值,讓這個重新賦的值和下一步的case相對應。
錯誤思維:如果mark的初始值是0,這個switch程序會執(zhí)行三次,執(zhí)行的順序依次是0,10,20。
因為我們在每一步的case中都重新給mark賦值了,所以不熟悉的很容易就會覺得這個switch會從上往下執(zhí)行,凡是滿足條件的步驟都會執(zhí)行。其實這個switch是只會執(zhí)行一次的,因為每個case后面都跟了一個break,這個break的作用就是跳出當前循環(huán)也就是跳出當前的switch,所以這個switch只會執(zhí)行mark初始值對應的那個case,后面的步驟不會繼續(xù)執(zhí)行。如果要想三個步驟都依次執(zhí)行需要在switch外面加上一個while循環(huán),在一定的條件內(nèi)重復執(zhí)行switch:如下加上while
while(mark<=30) { switch(mark) { case 0: System.out.println(mark); mark = 10; break; case 10: System.out.println(mark); mark = 20; break; case 20: System.out.println(mark); mark = 30; break; } }
關(guān)于如何在Java中使用switch問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。
名稱欄目:如何在Java中使用switch
鏈接分享:http://chinadenli.net/article2/jgigoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、Google、服務器托管、云服務器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)