Java Switch語句是一種用於根據不同條件執行不同代碼塊的控制語句。可以用於代替多個if-else語句的情況,提高代碼的閱讀性和可維護性。在本文中,將詳細探討Java Switch語句的各種用法,同時提供代碼示例。
一、基本用法
Java Switch語句的基本語法結構如下:
switch (expression) {
case value1:
// case1的執行語句
break;
case value2:
// case2的執行語句
break;
...
default:
// 默認的執行語句
}
其中,expression為一個表達式,可以是整型、字元型、枚舉型或字元串類型;case後面的value必須是常量值,可以是整型、字元型、枚舉型或字元串類型;執行語句可以是任何有效的Java語句,包括代碼塊。default是可選的,當沒有任何匹配的case時執行。
下面是一個示常式序:
public class SwitchTest {
public static void main(String[] args) {
int dayOfWeek = 4;
switch (dayOfWeek) {
case 1:
System.out.println("今天是周一");
break;
case 2:
System.out.println("今天是周二");
break;
case 3:
System.out.println("今天是周三");
break;
case 4:
System.out.println("今天是周四");
break;
case 5:
System.out.println("今天是周五");
break;
default:
System.out.println("今天是周末");
}
}
}
輸出結果為:「今天是周四」。
二、Switch穿透
在Java Switch語句中,如果沒有在case後面添加break語句,程序會繼續執行下一個case,這被稱為「Switch穿透」。
如果希望一個case可以匹配多個值時,也可以不加break語句。例如:
public class SwitchTest {
public static void main(String[] args) {
int dayOfWeek = 6;
switch (dayOfWeek) {
case 1:
System.out.println("今天是周一");
break;
case 2:
case 3:
case 4:
case 5:
System.out.println("今天是工作日");
break;
case 6:
case 7:
System.out.println("今天是周末");
break;
}
}
}
輸出結果為:「今天是周末」。
三、Switch與Enum
Java Enum類型是一組相關的常量值的集合。Switch語句可以很好地與Enum類型結合使用。
下面是一個示常式序:
public enum Season {
SPRING, SUMMER, AUTUMN, WINTER;
}
public class SwitchTest {
public static void main(String[] args) {
Season season = Season.SUMMER;
switch (season) {
case SPRING:
System.out.println("現在是春天");
break;
case SUMMER:
System.out.println("現在是夏天");
break;
case AUTUMN:
System.out.println("現在是秋天");
break;
case WINTER:
System.out.println("現在是冬天");
break;
}
}
}
輸出結果為:「現在是夏天」。
四、Switch與String
Java Switch語句也可以用於判斷字元串類型的值。
下面是一個示常式序:
public class SwitchTest {
public static void main(String[] args) {
String fruit = "apple";
switch (fruit) {
case "apple":
case "pear":
System.out.println("這是一種水果");
break;
case "potato":
case "tomato":
System.out.println("這是一種蔬菜");
break;
default:
System.out.println("未知食品");
}
}
}
輸出結果為:「這是一種水果」。
五、Switch語句的限制
Java Switch語句雖然有很多特性,但是在實際使用中還是有一些限制的:
- expression不能是null。
- case後面的value必須是常量值,不能是變數或方法的返回值等。
- 每個case都必須有一個break語句或者return語句,否則會產生編譯錯誤。
- Switch的效率可能比if-else低,因為編譯器要把它轉換成一些比較數組的操作。
六、總結
本文介紹了Java Switch語句的基本用法以及它與Enum類型、String類型的結合使用。同時探討了Switch的限制以及它的效率問題。
Switch語句的主要優點是它可以使代碼更加可讀,增強代碼的可維護性。但是在實際應用中,需要根據具體情況綜合考慮使用if-else語句或者Switch語句。
原創文章,作者:YABO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/135105.html
微信掃一掃
支付寶掃一掃