Java switch case 语句
在Java中,`switch`语句允许根据表达式的值来选择执行不同的代码块。`switch`语句是一种更为复杂和灵活的条件语句,适用于需要根据多个不同取值进行分支选择的情况。
### 1. switch case 语法
`switch`语句的基本语法如下:
```java
switch (表达式) {
case 值1:
// 当表达式的值等于值1时执行的代码块
break;
case 值2:
// 当表达式的值等于值2时执行的代码块
break;
// 可以有更多的 case 分支
default:
// 如果上述所有的值都不匹配时执行的代码块
}
```
- **表达式**:可以是整数、字符、枚举或字符串类型的值。根据表达式的值,`switch`语句会执行对应的 `case` 分支或者 `default` 分支。
- **case 值X**:每个 `case` 分支后面跟着一个具体的值或者常量表达式。如果表达式的值等于某个 `case` 的值,则执行该 `case` 分支中的代码。
- **break**:每个 `case` 分支结尾通常会有一个 `break` 语句,用于终止 `switch` 语句的执行并跳出 `switch` 块。如果省略 `break`,则会继续执行下一个 `case` 或者 `default` 分支,这称为“case 穿透”(fall-through)。
- **default**:可选的 `default` 分支会在表达式的值与所有 `case` 的值都不匹配时执行。它类似于`else`在`if...else if...else`语句中的作用,是可选的。
### 2. switch case 示例
下面是一个简单的示例,展示了如何使用 `switch` 语句判断一周中的某一天并输出对应的信息:
```java
int day = 3;
String dayString;
switch (day) {
case 1:
dayString = "Monday";
break;
case 2:
dayString = "Tuesday";
break;
case 3:
dayString = "Wednesday";
break;
case 4:
dayString = "Thursday";
break;
case 5:
dayString = "Friday";
break;
case 6:
dayString = "Saturday";
break;
case 7:
dayString = "Sunday";
break;
default:
dayString = "Invalid day";
break;
}
System.out.println("Day of the week: " + dayString);
```
在这个例子中,变量 `day` 的值为 `3`,`switch` 语句根据 `day` 的值匹配到 `case 3`,然后执行 `dayString = "Wednesday";`,最终输出结果为 `Day of the week: Wednesday`。
### 注意事项
- 每个 `case` 分支的值必须是一个常量表达式,不能是变量或者其他形式的表达式。
- `switch` 语句适用于对一组固定值进行精确匹配的场景。如果需要进行范围判断或者更复杂的条件判断,应该使用 `if...else if...else` 结构。
- `break` 语句的作用是防止执行其他 `case` 分支或 `default` 分支,如果省略 `break`,则会继续执行后续的 `case` 分支,这在某些情况下可能有用,但通常需要小心使用以避免意外行为。
通过灵活运用 `switch` 语句,可以使代码更加清晰和可读,特别是在需要根据多个离散取值做决策时。
原文地址:https://blog.csdn.net/fan0430/article/details/140385310
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!