您好,登錄后才能下訂單哦!
本篇內容主要講解“Javaswitch的使用原理及實例解析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Javaswitch的使用原理及實例解析”吧!
java中有兩個經常用于條件判斷的方法,一個是if{}else{},另一個就是switch()了。總的來說因為switch可以直接一對一滿足條件,不滿足條件的情況是不會執行的的所以switch的效率會相對if{}else{}更高一些,而且這兩個方法是可以無門檻互換的。
switch的使用:
能用于switch判斷的類型有:byte、short、int、char(JDK1.6),還有枚舉類型,但是在JDK1.7后添加了對String類型的判斷 case語句中少寫了break,編譯不會報錯,但是會一直執行之后所有case條件下的語句而不再判斷,直到default語句 若果沒有符合條件的case就執行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,相對應的條件成立就會執行case中的程序
在這里有一個思維誤區很容易出錯,看下面代碼:
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程序會執行三次,執行的順序依次是0,10,20。
因為我們在每一步的case中都重新給mark賦值了,所以不熟悉的很容易就會覺得這個switch會從上往下執行,凡是滿足條件的步驟都會執行。其實這個switch是只會執行一次的,因為每個case后面都跟了一個break,這個break的作用就是跳出當前循環也就是跳出當前的switch,所以這個switch只會執行mark初始值對應的那個case,后面的步驟不會繼續執行。如果要想三個步驟都依次執行需要在switch外面加上一個while循環,在一定的條件內重復執行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; } }
總結:每次進入switch,如果每個case后面都用break跳出當前循環了,則不管mark的值怎么變,只會執行一個case
到此,相信大家對“Javaswitch的使用原理及實例解析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。