java中switch语句的用法介绍
2025-09-23 17:46
Java
183
0
0
0
标题录入
封面图
在 Java 中,`switch` 语句是一种多分支选择结构,用于根据一个表达式的值执行不同的代码块。它比多个 `if-else` 语句更简洁和高效,尤其是在处理多个固定值的情况时。 --- ## ✅ 一、基本语法 ```java switch (expression) { case value1: // 当 expression 等于 value1 时执行的代码 break; case value2: // 当 expression 等于 value2 时执行的代码 break; ... default: // 当 expression 不等于任何 case 值时执行的代码 } ``` --- ## ✅ 二、支持的数据类型 Java 的 `switch` 支持以下数据类型: | 类型 | 说明 | |------|------| | `int` | 整数 | | `char` | 字符 | | `String` | 字符串(Java 7 及以上版本支持) | | `enum` | 枚举类型 | | `byte` | 字节 | | `short` | 短整型 | > 注意:不支持 `float`、`double`、`boolean` 等类型。 --- ## ✅ 三、使用示例 ### 示例 1:使用 `int` ```java int day = 3; switch (day) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Wednesday"); break; default: System.out.println("Invalid day"); } ``` 输出: ``` Wednesday ``` --- ### 示例 2:使用 `String`(Java 7+) ```java String fruit = "apple"; switch (fruit) { case "apple": System.out.println("It's an apple."); break; case "banana": System.out.println("It's a banana."); break; default: System.out.println("Unknown fruit."); } ``` 输出: ``` It's an apple. ``` --- ### 示例 3:使用 `enum` ```java enum Day { MONDAY, TUESDAY, WEDNESDAY } public class Main { public static void main(String[] args) { Day today = Day.WEDNESDAY; switch (today) { case MONDAY: System.out.println("Monday"); break; case TUESDAY: System.out.println("Tuesday"); break; case WEDNESDAY: System.out.println("Wednesday"); break; } } } ``` 输出: ``` Wednesday ``` --- ## ✅ 四、注意事项 1. **`break` 关键字**:每个 `case` 后面通常要加 `break`,否则会**继续执行下一个 `case`**(称为“fall-through”)。 ```java int x = 1; switch (x) { case 1: System.out.println("One"); case 2: System.out.println("Two"); } ``` 输出: ``` One Two ``` 2. **`default` 分支**:是可选的,但建议总是加上,以处理未预料到的值。 3. **`switch` 与 `if-else` 的区别**: - `switch` 更适合判断**离散值**(如数字、字符串、枚举); - `if-else` 更适合判断**范围或复杂条件**。 --- ## ✅ 五、Java 12+ 新特性:`switch` 表达式(返回值) 从 Java 12 开始,`switch` 支持作为表达式使用,并可以返回值,简化代码: ```java String result = switch (day) { case 1 -> "Monday"; case 2 -> "Tuesday"; case 3 -> "Wednesday"; default -> "Invalid day"; }; System.out.println(result); ``` 这种写法更简洁,推荐在 Java 12+ 中使用。 --- ## ✅ 六、总结 | 特性 | 说明 | |------|------| | 用途 | 多分支选择 | | 支持类型 | `int`, `char`, `String`, `enum`, `byte`, `short` | | `break` | 防止 fall-through | | `default` | 处理默认情况 | | 表达式形式 | Java 12+ 支持返回值 | --- 如果你有具体的使用场景或问题,欢迎继续提问!
上一篇:
java的预定义Class对象的方法
下一篇:
java只返回实体类中的部分字段问题如何解决
标题录入,一次不能超过6条
区块链
T:0.005981s,M:118.98 KB
返回顶部
留言
留言
评论