一、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-hk/n/238159.html
微信掃一掃
支付寶掃一掃