如何在Java中使用switch?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

java中有兩個經(jīng)常用于條件判斷的方法,一個是if{}else{},另一個就是switch()了。總的來說因為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),在一定的條件內重復執(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;
}
}關于如何在Java中使用switch問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)網(wǎng)站建設公司行業(yè)資訊頻道了解更多相關知識。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站chinadenli.net,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享標題:如何在Java中使用switch-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://chinadenli.net/article18/cojegp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、網(wǎng)站收錄、網(wǎng)站排名、定制開發(fā)、品牌網(wǎng)站設計、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容