Java switch 语句
switch 语句允许我们在多个备选方案中执行一个代码块,在本教程中,我们通过示例介绍了在 Java 中如何通过 switch 语句控制程序的执行流程。
在本教程中,我们通过示例介绍了在 Java 中如何通过 switch
语句控制程序的执行流程。
switch
语句允许我们在多个备选方案中执行一个代码块。
switch
语句的语法是:
switch (expression) {
case value1:
// code
break;
case value2:
// code
break;
...
...
default:
// default statements
}
switch-case 语句是如何工作的?
首先计算表达式 expression
的结果,让后将结果值与每个 case 进行比较:
- 如果匹配到相应的 case 值,就执行相应的 case 段的代码。
- 如果没有匹配的 case,就执行 default 段的代码。
注意:switch-case 语句的工作方式类似于Java if…else…if 语句。但是, switch
语句的语法更清晰,更易于阅读和编写。
示例:Java switch 语句
// 使用 switch...case 语句确定尺寸大小
public class Main {
public static void main(String[] args) {
int number = 44;
String size;
switch (number) {
case 29:
size = "小号";
break;
case 42:
size = "中号";
break;
// match the value of week
case 44:
size = "大号";
break;
case 48:
size = "超大号";
break;
default:
size = "未知";
break;
}
System.out.println("尺寸: " + size);
}
}
输出:
尺寸:大号
在上面的例子中,我们使用了 switch 语句来确定尺寸大小。在这里,我们有一个 number
变量,该变量与每个 case 语句的值进行比较。
由于 number
的值是 44
,因此执行 case 44
执行的代码:
size = "大号";
break;
在这里, 尺寸变量被赋值为 大号
。
switch 语句流程图
Java switch…case 中的 break 语句
请注意,我们一直在每个 case 块中使用 break
。
...
case 29:
size = "Small";
break;
...
break
语句用于终止switch-case语句。如果不使用 break
,则匹配 case 之后的所有 case 也会被执行。例如,
public class Main {
public static void main(String[] args) {
int expression = 2;
switch (expression) {
case 1:
System.out.println("Case 1");
// 匹配项
case 2:
System.out.println("Case 2");
case 3:
System.out.println("Case 3");
default:
System.out.println("Default case");
}
}
}
输出
Case 2
Case 3
Default case
在上面的例子中, 表达式与 case 2
匹配。在本例中,我们没有在每个 case
之后使用 break
语句。因此,也执行 case 2
之后的所有情况。
这就是为什么在匹配 case 之后需要 break
语句来终止 switch-case 语句的原因。 要了解更多信息,请访问 Java break 语句章节。
Java switch-case 中的 default
switch 语句还包括一个可选的 default,当表达式不匹配任何情况时执行。例如,
public class Main {
public static void main(String[] args) {
int expression = 9;
switch(expression) {
case 2:
System.out.println("小号");
break;
case 3:
System.out.println("大号");
break;
// default case
default:
System.out.println("未知号码");
}
}
}
输出
未知号码
在上面的例子中,我们创建了一个switch-case语句。这里的值表达 与任何情况都不匹配。
因此, default
的代码被执行。
default:
System.out.println("未知号码");
注意:Java switch 语句仅适用于: