Java 8 中的 switch 语句与 default

在 Java 8 中,switch 语句得到了一些改进,其中之一是引入了 default 语句。default 关键字用于定义 switch 语句的默认分支,即当 switch 表达式不匹配任何 case 时执行的代码。本文将详细介绍 Java 8 中 switch 语句的 default 用法,并提供代码示例进行演示。

switch 语句的基本用法

在介绍 switch 语句的 default 之前,我们先来回顾一下 switch 语句的基本用法。switch 语句用于根据不同的表达式值执行不同的代码块。其基本语法如下:

switch (expression) {
    case value1:
        // 当 expression 的值为 value1 时执行的代码
        break;
    case value2:
        // 当 expression 的值为 value2 时执行的代码
        break;
    ...
    default:
        // 当 expression 的值不匹配任何 case 时执行的代码
        break;
}

switch 关键字后面的表达式的值会与每个 case 后面的值进行比较,如果匹配则执行相应的代码块。如果没有匹配的值,就会执行 default 语句块中的代码。

default 语句的用法

default 语句是 switch 语句中的可选分支,它在表达式的值不匹配任何 case 时执行。可以将 default 看作是 switch 语句的 else 分支。

switch (expression) {
    case value1:
        // 当 expression 的值为 value1 时执行的代码
        break;
    case value2:
        // 当 expression 的值为 value2 时执行的代码
        break;
    ...
    default:
        // 当 expression 的值不匹配任何 case 时执行的代码
        break;
}

default 语句通常放在最后,但不是必须的。在 switch 语句中,可以有多个 case 和一个 default,或者只有 default,但不能只有 case 而没有 default。

示例代码

下面我们通过一些示例代码来演示 switch 语句的 default 用法。

public class SwitchExample {
    public static void main(String[] args) {
        int day = 4;
        String dayName;

        switch (day) {
            case 1:
                dayName = "Monday";
                break;
            case 2:
                dayName = "Tuesday";
                break;
            case 3:
                dayName = "Wednesday";
                break;
            case 4:
                dayName = "Thursday";
                break;
            case 5:
                dayName = "Friday";
                break;
            default:
                dayName = "Weekend";
        }

        System.out.println("Today is " + dayName);
    }
}

在上述代码中,我们定义了一个变量 day,并使用 switch 语句根据不同的值给变量 dayName 赋予不同的字符串值。当 day 的值为 4 时,会执行 case 4 的代码块,并将 dayName 赋值为 "Thursday"。如果 day 的值不匹配任何 case,就会执行 default 语句块,将 dayName 赋值为 "Weekend"。

这只是一个简单的示例,实际上 switch 语句可以处理更复杂的逻辑。在实际开发中,我们可能会根据不同的条件执行不同的代码块,而不仅仅是根据一个变量的值。

switch 语句与表格的对应关系

为了更好地理解 switch 语句的执行流程,我们可以使用表格来表示 switch 语句中不同分支的对应关系。下面是一个示例表格:

表达式值 case 1 case 2 case 3 case 4 default
1
2
3
4
5