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)課程。