一、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-tw/n/190967.html