Java Switch 案例講解
介紹
條件語(yǔ)句和邏輯語(yǔ)句是任何程序的核心組成部分。代碼主要由一系列條件及其可能的輸出組成。在幾乎每種編程語(yǔ)言中,Switch case 語(yǔ)句都是常見(jiàn)的條件語(yǔ)句之一。
目錄
Java中的Switch case
Switch case 在Java中非常常見(jiàn)。它是一種多路分支語(yǔ)句,能夠根據(jù)表達(dá)式的值執(zhí)行不同部分的代碼。表達(dá)式可以是 byte、short、char 和 int 原始數(shù)據(jù)類(lèi)型。從 JDK7 開(kāi)始,它也可以用于 Java 中的枚舉(Enum)數(shù)據(jù)類(lèi)型、String 類(lèi)和包裝類(lèi)。
以下是 Java 中 switch case 的語(yǔ)法:
switch(變量或整數(shù)表達(dá)式)
{
// case 語(yǔ)句
case 值1 :
// 在值1為真的情況下執(zhí)行的語(yǔ)句
break; // 可選
case 值2 :
// 在值2為真的情況下執(zhí)行的語(yǔ)句
break; // 可選
// 可以添加任意數(shù)量的 case 語(yǔ)句
// 可選的 default 語(yǔ)句通常寫(xiě)在最后
default :
// 當(dāng)沒(méi)有 case 匹配時(shí)執(zhí)行的語(yǔ)句
break; // 可選
}
盡管是可選的,break 語(yǔ)句通常在 Java 中的 switch case 里使用。
若你想提升Java技能,可關(guān)注我們的Java培訓(xùn)課程。
下面是一個(gè)展示簡(jiǎn)單 switch case 的 Java 代碼片段:
public class SwitchCase_Example1 {
public static void main(String args[]){
int num = 10;
switch(num * 5 + num)
{
case 20:
System.out.println("Option 1: The Value is: "+num);
case 40:
System.out.println("Option 2: The Value is: "+num);
case 60:
System.out.println("Option 3: The Value is: "+num);
default:
System.out.println("Default Case: The Value is: "+num);
}
}
}
輸出:
Option 3: Value is 60
在上面的 switch case 中,switch 表達(dá)式是 "num * 5 + num",其中 num 為 10,表達(dá)式的結(jié)果是 10 * 5 + 10,也就是 60。第三個(gè) case 的值是 60,因此這個(gè) case 被執(zhí)行。雖然在 Java 中 default case 是可選的,但如果沒(méi)有定義匹配值的 case,default case 就會(huì)被執(zhí)行。
Java中 switch case 的 break 語(yǔ)句
break 語(yǔ)句是可選的,且不需要在所有條件下都使用。話(huà)雖如此,在某些場(chǎng)景中使用 break 語(yǔ)句是至關(guān)重要的,以實(shí)現(xiàn)邏輯上準(zhǔn)確的輸出。
請(qǐng)參見(jiàn)以下沒(méi)有使用 break 語(yǔ)句的 Java switch case 示例:
public class SwitchCase_Example2a {
public static void main(String[] args) {
int day = 4;
switch (day) {
case 1:
System.out.println("Monday");
case 2:
System.out.println("Tuesday");
case 3:
System.out.println("Wednesday");
case 4:
System.out.println("Thursday");
case 5:
System.out.println("Friday");
case 6:
System.out.println("Saturday");
case 7:
System.out.println("Sunday");
default:
System.out.println("Incorrect Number");
}
}
}
輸出:
Thursday
Friday
Saturday
Sunday
在上面的代碼中,我們將整數(shù)值4傳遞給switch,它本應(yīng)執(zhí)行 case 4。然而,由于 case 4 后沒(méi)有 break 語(yǔ)句,導(dǎo)致程序流繼續(xù)執(zhí)行后續(xù)的 case,最終打印出 Thursday 之后的所有天。這個(gè)問(wèn)題的解決方案是使用 break 語(yǔ)句。
break 語(yǔ)句用于控制程序流,它指示程序流在執(zhí)行完當(dāng)前 case 后直接跳出 switch 語(yǔ)句體,忽略其后的所有 case。
現(xiàn)在,看看帶有 break 語(yǔ)句的相同 Java switch case 示例:
public class SwitchCase_Example2b {
public static void main(String[] args) {
int day = 4;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
default:
System.out.println("Incorrect Number");
}
}
}
輸出:
Thursday
現(xiàn)在你可以看到,只執(zhí)行了 case 4,其他 case 被忽略。因此,屏幕上只會(huì)打印 Thursday。
總結(jié)
我們已經(jīng)討論了有關(guān)如何實(shí)現(xiàn) Java switch 語(yǔ)句的所有內(nèi)容。如果使用得當(dāng),Java 中的 switch case 語(yǔ)句可以為執(zhí)行條件提供無(wú)限可能。它可以與循環(huán)或其他條件語(yǔ)句一起使用,以創(chuàng)建高效且健壯的 Java 代碼。
若你想提升Java技能,可關(guān)注我們的Java培訓(xùn)課程。