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` 语句,可以使代码更加清晰和可读,特别是在需要根据多个离散取值做决策时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值