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

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免费学习笔记(深入)”;
使用 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让代码更简洁、逻辑更清晰,特别是在需要根据条件返回不同值时特别有用。注意要确保所有可能路径都有返回值,编译器会检查是否覆盖所有情况。
以上就是Java中如何使用增强型switch语句的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/70028.html
微信扫一扫
支付宝扫一扫