switch (整數選擇因子) {
case 整數值1: 語句; break;
case 整數值2: 語句; break;
// ...
default: 語句;
}
byte、short、char。long、float、double、boolean 不能直接用作 case 標籤。case 標籤必須是編譯期常量,可為字面量或 final 常量,不能是變量。
final int A = 1;
switch (x) {
case A: ... // 合法
case 1+2: ... // 合法,編譯期計算
case someVar: // 編譯錯誤
}
break 用於跳出整個 switch 塊。break,會發生「貫穿」現象:繼續執行下一個 case 的代碼,直到遇到 break 或 switch 結束。default 在所有 case 都不匹配時執行,位置可放在任意處(通常置末)。byte、short、char、int、long、float、double、boolean。boolean 不能與任何數值類型轉換。enum 作為 switch 因子,編譯器可檢查覆蓋完整性。break 結尾,若故意貫穿需加 // fall through 註釋。default 分支處理未預期值。switch 表達式(-> 箭頭語法),自動無貫穿、返回值,更簡潔安全。