在Java中,switch
和case
語句用于進行多條件分支判斷
switch
表達式的類型必須是byte
、short
、int
、char
、String
或者它們的包裝類(如Byte
、Short
、Integer
、Character
、String
)。從Java 7開始,switch
表達式還可以是枚舉類型。case
標簽的值必須是常量或字面量,并且在編譯時期就能確定。這意味著你不能使用變量或方法返回值作為case
標簽的值。此外,每個case
標簽的值必須在同一個switch
語句中是唯一的。switch
表達式的值與某個case
標簽的值相等時,程序會從該case
標簽處開始執行,直到遇到break
語句或者switch
語句結束。如果沒有匹配到任何case
標簽,程序會執行default
分支(如果存在)。case
分支中沒有break
語句,那么程序會繼續執行下一個case
分支,這被稱為“穿透”(fall-through)。為了避免穿透現象,建議在每個case
分支的末尾添加break
語句。default
分支來處理未匹配到任何case
標簽的情況。default
分支是可選的,但建議在實際編程中使用,以提高代碼的健壯性。示例:
int number = 2;
switch (number) {
case 1:
System.out.println("Number is 1");
break;
case 2:
System.out.println("Number is 2");
break;
case 3:
System.out.println("Number is 3");
break;
default:
System.out.println("Number is not 1, 2 or 3");
}
輸出結果:
Number is 2