Java Switch 案例讲解

介绍

条件语句和逻辑语句是任何程序的核心组成部分。代码主要由一系列条件及其可能的输出组成。在几乎每种编程语言中,Switch case 语句都是常见的条件语句之一。

目录

Java中的Switch case

Switch case 在Java中非常常见。它是一种多路分支语句,能够根据表达式的值执行不同部分的代码。表达式可以是 byte、short、char 和 int 原始数据类型。从 JDK7 开始,它也可以用于 Java 中的枚举(Enum)数据类型、String 类和包装类。

以下是 Java 中 switch case 的语法:

switch(变量或整数表达式)
{
    // case 语句
    case 值1 :
        // 在值1为真的情况下执行的语句
        break; // 可选
    case 值2 :
        // 在值2为真的情况下执行的语句
        break; // 可选
    // 可以添加任意数量的 case 语句
    // 可选的 default 语句通常写在最后
    default :
        // 当没有 case 匹配时执行的语句
        break; // 可选
}

尽管是可选的,break 语句通常在 Java 中的 switch case 里使用。

 

若你想提升Java技能,可关注我们的Java培训课程。

下面是一个展示简单 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 表达式是 "num * 5 + num",其中 num 为 10,表达式的结果是 10 * 5 + 10,也就是 60。第三个 case 的值是 60,因此这个 case 被执行。虽然在 Java 中 default case 是可选的,但如果没有定义匹配值的 case,default case 就会被执行。

Java中 switch case 的 break 语句

break 语句是可选的,且不需要在所有条件下都使用。话虽如此,在某些场景中使用 break 语句是至关重要的,以实现逻辑上准确的输出。

请参见以下没有使用 break 语句的 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

在上面的代码中,我们将整数值4传递给switch,它本应执行 case 4。然而,由于 case 4 后没有 break 语句,导致程序流继续执行后续的 case,最终打印出 Thursday 之后的所有天。这个问题的解决方案是使用 break 语句。

break 语句用于控制程序流,它指示程序流在执行完当前 case 后直接跳出 switch 语句体,忽略其后的所有 case。

现在,看看带有 break 语句的相同 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

现在你可以看到,只执行了 case 4,其他 case 被忽略。因此,屏幕上只会打印 Thursday。

总结

我们已经讨论了有关如何实现 Java switch 语句的所有内容。如果使用得当,Java 中的 switch case 语句可以为执行条件提供无限可能。它可以与循环或其他条件语句一起使用,以创建高效且健壮的 Java 代码。

 

若你想提升Java技能,可关注我们的Java培训课程。