Java中的switch
語句是一種控制流語句,它允許根據一個變量的值來選擇執行不同的代碼塊。以下是Java switch
語句的一些主要特性:
表達式類型:switch
后面的表達式可以是byte
、short
、char
、int
、String
(自Java 7起)、枚舉類型(自Java 5起)或Integer
、Short
、Character
、String
的包裝類(自Java 5起)。
case標簽:每個case
后面跟著一個可能的表達式值和一個冒號。如果表達式的值與某個case
的值匹配,程序將從該case
開始執行,直到遇到break
語句或switch
語句結束。
break語句:break
用于終止switch
語句,防止代碼繼續執行到下一個case
。如果沒有break
,將會發生“貫穿”(fall-through),即繼續執行下一個case
的代碼。
default標簽:可選的default
標簽用于處理所有沒有匹配到case
的情況。它可以放在switch
語句的任何位置,但通常放在最后。
多重case標簽:多個case
標簽可以有相同的代碼塊,這意味著如果多個case
的值相同,它們將共享相同的代碼。
無break的多重case:有時故意省略break
以實現多個case
共享代碼塊的效果,這稱為“貫穿”(fall-through)。
switch表達式(自Java 12起):從Java 12開始,引入了增強的switch
表達式,它允許switch
作為表達式使用,而不僅僅是一個語句。這允許switch
表達式有返回值,并且可以使用箭頭語法(->
)簡化代碼。
局部變量類型推斷(自Java 10起):在switch
表達式中,可以使用var
關鍵字來聲明局部變量,編譯器會根據上下文推斷其類型。
字符串和枚舉的switch:自Java 7和Java 5起,switch
語句支持String
和枚舉類型的表達式。
switch的局限性:switch
語句不支持布爾類型(boolean
),也不能用于浮點數類型(如float
和double
)。
下面是一個簡單的switch
語句示例:
int day = 3;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("Invalid day");
}
在這個例子中,如果day
的值是3,程序將輸出"Wednesday"。如果day
的值不是1、2或3,程序將輸出"Invalid day"。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。