一、Switch語句的基本用法
Switch語句是Java中用於選擇性執行語句的結構,它的基本語法如下:
switch (expression) {
case value1:
// 在expression等於value1時執行的語句
break;
case value2:
// 在expression等於value2時執行的語句
break;
...
default:
// 在expression不等於任何一個case時執行的語句
break;
}
其中,expression可以是一個常量、變量或表達式,case後的value可以是常量或字面量,如果某個case匹配成功,則執行對應的語句塊,並執行break語句跳出switch語句,如果所有case都沒有匹配成功,則執行default語句塊。
例如:
public class Main {
public static void main(String[] args) {
int num = 2;
switch (num) {
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("OtherDay");
break;
}
}
}
輸出結果為:Tuesday
二、Switch語句的注意事項
1、case值必須是唯一的,不可重複。
2、case後的value值必須是常量或字面量,不能為變量。
3、Switch語句在匹配時使用的是「==」運算符,因此匹配的對象必須具有相同的數據類型,或者可以進行類型轉換。
例如:
char ch = 'a';
switch (ch) {
case 'a':
System.out.println("This is a");
break;
// case後的字符會被轉換成整型,如果相等則匹配成功
case 97:
System.out.println("This is 97");
break;
default:
System.out.println("Other");
break;
}
輸出結果為:This is a
4、Switch語句的表達式可以是null,這種情況下只能匹配default分支。
例如:
String str = null;
switch (str) {
case "A":
System.out.println("This is A");
break;
case "B":
System.out.println("This is B");
break;
default:
System.out.println("Other");
break;
}
輸出結果為:Other
三、Switch語句的嵌套使用
Switch語句可以嵌套使用,內部的Switch語句可以作為外部Switch語句的case分支。
例如:
public class Main {
public static void main(String[] args) {
int num1 = 2, num2 = 3;
switch (num1) {
case 1:
System.out.println("Monday");
break;
case 2:
switch (num2) {
case 1:
System.out.println("Tuesday1");
break;
case 2:
System.out.println("Tuesday2");
break;
default:
System.out.println("Other");
break;
}
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("OtherDay");
break;
}
}
}
輸出結果為:Tuesday2
四、Switch語句的應用場景
Switch語句可以用於替代一系列的if-else語句,使代碼更加簡潔易讀。
例如:
public class Main {
public static void main(String[] args) {
String str = "apple";
if (str.equals("apple")) {
System.out.println("100");
} else if (str.equals("banana")) {
System.out.println("200");
} else if (str.equals("orange")) {
System.out.println("300");
} else if (str.equals("peach")) {
System.out.println("400");
} else {
System.out.println("500");
}
}
}
可以改寫為:
public class Main {
public static void main(String[] args) {
String str = "apple";
switch (str) {
case "apple":
System.out.println("100");
break;
case "banana":
System.out.println("200");
break;
case "orange":
System.out.println("300");
break;
case "peach":
System.out.println("400");
break;
default:
System.out.println("500");
break;
}
}
}
輸出結果相同。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/190967.html
微信掃一掃
支付寶掃一掃