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 | ✔ |