一、switch語句基本用法
switch語句用於多分支選擇結構,根據不同的情況執行不同的代碼塊。switch語句的基本語法如下:
switch(表達式) { case 常量1 : 語句1; break; case 常量2 : 語句2; break; case 常量3 : 語句3; break; default: 默認語句; }
其中,case後面跟的是常量或枚舉值,表達式和常量值的數據類型必須一致。default為可選項,如果所有的case都不匹配,則執行default中的代碼塊。
以下是一個簡單的例子,通過switch語句判斷輸入的數字是1、2、3三個數字中的哪一個:
import java.util.Scanner; public class SwitchDemo { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("請輸入數字(1-3):"); int num = input.nextInt(); switch(num) { case 1 : System.out.println("您輸入的是1"); break; case 2 : System.out.println("您輸入的是2"); break; case 3 : System.out.println("您輸入的是3"); break; default: System.out.println("輸入錯誤!"); } } }
二、switch語句的特性
switch語句與if語句不同的是,switch語句只能用於判斷常量或枚舉類型,而不能用於布爾類型或其他數據類型。此外,switch語句有以下特性:
- switch語句可通過break語句跳出多重嵌套的switch語句。
- case後面可以加多個常量值,以逗號隔開,表示多個條件執行相同的語句。
- case語句塊中的聲明語句必須用花括弧包含起來。
三、switch語句的應用場景
switch語句適合於條件比較簡單、分支路徑比較少的情況,因為等價的if語句會顯得冗長、可讀性差。例如:對於枚舉類型的判斷,switch語句比if語句更加適合。
public enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } public class SwitchEnumDemo { public static void main(String[] args) { Weekday day = Weekday.TUESDAY; switch(day) { case MONDAY: System.out.println("今天是星期一"); break; case TUESDAY: System.out.println("今天是星期二"); break; case WEDNESDAY: System.out.println("今天是星期三"); break; case THURSDAY: System.out.println("今天是星期四"); break; case FRIDAY: System.out.println("今天是星期五"); break; case SATURDAY: System.out.println("今天是星期六"); break; case SUNDAY: System.out.println("今天是星期日"); break; default: System.out.println("輸入錯誤!"); } } }
四、switch語句的注意事項
在使用switch語句時需注意以下問題:
- case語句中的值不能重複。
- 如果case語句中沒有break語句,則從匹配的語句開始依次執行所有的語句塊,直到遇到break語句或switch語句結束。
- 如果default語句放在最後,則default語句可省略break語句。
- 如果表達式的值為null,則會拋出NullPointerException異常。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/238159.html