switch關鍵字對於多數java學習者來說並不陌生,由於筆試和面試經常會問到它的用法,這里做了一個簡單的總結:
- 能用於switch判斷的類型有:byte、short、int、char(JDK1.6),還有枚舉類型,但是在JDK1.7后添加了對String類型的判斷
- case語句中少寫了break,編譯不會報錯,但是會一直執行之后所有case條件下的語句而不再判斷,直到default語句
- 若果沒有符合條件的case就執行default下的代碼塊,default並不是必須的,也可以不寫
package switch; public class SwitchDemo { public static void main(String[] args) { stringTest(); breakTest(); defautTest(); } /* * default不是必須的,也可以不寫 * 輸出:case two */ private static void defautTest() { char ch = 'A'; switch (ch) { case 'B': System.out.println("case one"); break; case 'A': System.out.println("case two"); break; case 'C': System.out.println("case three"); break; } } /* * case語句中少寫了break,編譯不會報錯 * 但是會一直執行之后所有case條件下的語句,並不再進行判斷,直到default語句 * 下面的代碼輸出: case two * case three */ private static void breakTest() { char ch = 'A'; switch (ch) { case 'B': System.out.println("case one"); case 'A': System.out.println("case two"); case 'C': System.out.println("case three"); default: break; } } /* * switch用於判斷String類型 * 輸出:It's OK! */ private static void stringTest() { String string = new String("hello"); switch (string) { case "hello": System.out.println("It's OK!"); break; default: System.out.println("ERROR!"); break; } } }
