控制流程語句之→switch選擇判斷語句
注意事項:
1、多個case后面的值不能重復;
2、switch后面小括號當中只能是下列數據類型:
基本數據類型:byte、short、char、int
引用數據類型:String字符串、enum枚舉
3、switch語句格式化可以很靈活:前后順序可以顛倒,而且break語句還可以省略不寫。
“匹配到哪一個case就從哪一個位置向下執行,直到遇到了break或者整體結束為止。”
package codeJudge; public class demo { public static void main(String[] args) { // TODO Auto-generated method stub Test(); defaultTest(); StringTest(); breakTest(); } / * 系統的switch * 輸出數據不合理 * */ private static void Test(){ int num=11; switch(num) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期七"); break; default: System.out.println("數據不合理!"); break; } } /*default 不是必須的,也可以不寫 */ private static void defaultTest() { char ch='C'; 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; } } /*判斷String類型 * 輸出OK */ private static void StringTest() { String string= new String("hello"); switch (string) { case "hello": System.out.println("OK"); break; default : System.out.println("ERROR"); break; } } /*case語句中不寫break,編譯並不會報錯 * 會一直執行之后的所有case條件下的語句,並不再進行判斷,直到default語句 * 代碼輸出結果為: case two * case three * 測試結束! */ private static void breakTest() { char ch='B'; switch (ch) { case 'A': System.out.println("case one"); case 'B': System.out.println("case two"); case 'C': System.out.println("case three"); default : System.out.println("測試結束!"); break; } } }