跳到主要内容

Java switch 语句

提示
  1. 基本工作原理switch 语句根据表达式的值选择执行不同的代码块,它比 if-else 梯形结构更清晰和简洁。
  2. 使用案例:通过 switch (expression) 语句,根据表达式的值执行与 case value 匹配的代码块,如果没有匹配则执行 default 代码块。
  3. break 语句的重要性:每个 case 块后的 break 用于结束 switch 语句,防止执行后续的 case 代码块。

switch 语句允许我们在多个选择中执行一段代码块。

Java 中 switch 语句的语法是:

switch (expression) {

case value1:
// 代码
break;

case value2:
// 代码
break;

...
...

default:
// 默认语句
}

switch-case 语句是如何工作的?

expression 会被评估一次,并与每个 case 的值进行比较。

  • 如果 expressionvalue1 匹配,则执行 case value1 的代码。同样,如果 expressionvalue2 匹配,则执行 case value2 的代码。
  • 如果没有匹配,将执行 default case 的代码。

注意:switch-case 语句的工作方式类似于 Java if...else...if 梯形结构。然而,switch 语句的语法更清晰,更易于阅读和编写。

示例:Java switch 语句

// Java 程序,使用 switch...case 语句检查大小

class Main {
public static void main(String[] args) {

int number = 44;
String size;

// switch 语句检查大小
switch (number) {

case 29:
size = "Small";
break;

case 42:
size = "Medium";
break;

// 匹配 week 的值
case 44:
size = "Large";
break;

case 48:
size = "Extra Large";
break;

default:
size = "Unknown";
break;

}
System.out.println("Size: " + size);
}
}

输出

Size: Large

在上面的例子中,我们使用 switch 语句来找出大小。这里,我们有一个变量 number。这个变量与每个 case 语句的值进行比较。

由于值与 44 匹配,所以执行了 case 44 的代码。

size = "Large";
break;

在这里,变量 size 被赋值为 Large

推荐阅读使用 Java switch 语句创建一个简单的计算器

switch 语句的流程图

Java switch 语句的流程图

Java switch...case 中的 break 语句

注意,在每个 case 块中我们都使用了 break

...
case 29:
size = "Small";
break;
...

break 语句用于终止 switch-case 语句。如果不使用 break,匹配 case 之后的所有 case 也将被执行。例如,

class Main {
public static void main(String[] args) {

int expression = 2;

// switch 语句检查大小
switch (expression) {
case 1:
System.out.println("Case 1");

// 匹配的 case
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

在上述示例中,expressioncase 2 匹配。这里,我们没有在每个 case 之后使用 break 语句。

因此,case 2 之后的所有 case 也被执行了。

这就是为什么在匹配的 case 之后使用 break 语句来终止 switch-case 语句的原因。要了解更多,请访问 Java break 语句

Java switch-case 中的 default case

switch 语句还包括一个可选的 default case。当表达式与任何 case 都不匹配时,将执行它。例如,

class Main {
public static void main(String[] args) {

int expression = 9;

switch(expression) {

case 2:
System.out.println("Small Size");
break;

case 3:
System.out.println("Large Size");
break;

// default case
default:
System.out.println("Unknown Size");
}
}
}

输出

Unknown Size

在上述示例中,我们创建了一个 switch-case 语句。这里,expression 的值与任何 case 都不匹配。

因此,执行了 default case 内的代码。

default:
System.out.println("Unknown Size);

注意:Java switch 语句只适用于: