讲师中心 微信公众号
AI工具推荐 视频效率加速

Java中如何使用增强型switch语句

大浩小哥_7956

大浩小哥_7956

发布时间:2025-09-22 13:21:01

|

974人浏览过

|

来源于php中文网

原创

Java 14引入增强型switch表达式,使用->替代:避免case穿透,支持返回值,通过yield在多行代码中返回结果,可匹配多个值并适用于枚举类型,使代码更简洁安全。

java中如何使用增强型switch语句

Java中从Java 14开始引入了增强型switch语句(也称为“switch表达式”),它让switch更简洁、更安全,并支持返回值。你不再需要写break防止穿透,也不再容易出错。

使用箭头语法避免case穿透

传统switch中每个case必须写break,否则会继续执行下一个case。增强型switch使用->代替冒号:,自动限制作用域,避免意外穿透。

  • 用 -> 替代 : 来分隔case条件和执行体
  • 每个分支只执行对应代码,不会“掉入”下一个case

示例:

int day = 3;
String result = switch (day) {
    case 1 -> "星期一";
    case 2 -> "星期二";
    case 3 -> "星期三";
    case 4 -> "星期四";
    case 5 -> "星期五";
    default -> "周末";
};
System.out.println(result); // 输出:星期三

在case中执行多行代码

如果某个case需要执行多条语句,可以用大括号{}包裹,并通过yield返回值。

立即学习“Java免费学习笔记(深入)”;

Java 接口排错助手
Java 接口排错助手

在调试 Java 后端 API 故障时使用此技能,尤其适用于以下任务:分析日志、跨 Controller、Service 和 Mapper 层追踪请求、定位异常根因、检查 SQL 执行或参数流转,以及生成简洁的诊断结论与修复方案。

下载
  • 使用 yield 返回switch表达式的值
  • yield 是专门用于switch表达式中的返回关键字

示例:

int score = 85;
String grade = switch (score / 10) {
    case 10, 9 -> "A";
    case 8 -> {
        System.out.println("良好");
        yield "B";
    }
    case 7, 6 -> "C";
    default -> "不及格";
};
System.out.println(grade); // 输出:良好 \n B

支持多个匹配值(用逗号分隔)

一个case可以匹配多个值,用逗号分开,提升可读性。

如上面例子中 case 10, 9 表示当值为10或9时都返回"A"。

处理枚举类型

增强型switch同样适用于枚举,语法一致,更加清晰。

enum Color { RED, GREEN, BLUE }

Color c = Color.RED;
String info = switch (c) {
    case RED -> "红色表示停止";
    case GREEN -> "绿色表示通行";
    case BLUE -> "蓝色表示信息";
};

基本上就这些。增强型switch让代码更简洁、逻辑更清晰,特别是在需要根据条件返回不同值时特别有用。注意要确保所有可能路径都有返回值,编译器会检查是否覆盖所有情况。

热门AI工具

更多
PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

相关专题

更多
switch语句用法
switch语句用法

switch语句用法:1、Switch语句只能用于整数类型,枚举类型和String类型,不能用于浮点数类型和布尔类型;2、每个case语句后面必须跟着一个break语句,以防止执行其他case的代码块,没有break语句,将会继续执行下一个case的代码块;3、可以在一个case语句中匹配多个值,使用逗号分隔;4、Switch语句中的default代码块是可选的等等。

1071

2023.09.21

Java switch的用法
Java switch的用法

Java中的switch语句用于根据不同的条件执行不同的代码块。想了解更多switch的相关内容,可以阅读本专题下面的文章。

1437

2024.03.13

java中break的作用
java中break的作用

本专题整合了java中break的用法教程,阅读专题下面的文章了解更多详细内容。

3020

2025.10.15

java break和continue
java break和continue

本专题整合了java break和continue的区别相关内容,阅读专题下面的文章了解更多详细内容。

827

2025.10.24

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

80

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

60

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

200

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

140

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

120

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn