可以,但取决于你用的是哪种 switch。
switch 可以作为表达式返回值(推荐)从 Java 12 开始引入了 switch 表达式(Switch Expressions),
switch 可以返回值,并且可以赋值给变量。
int score = 90;
String level = switch (score / 10) {
case 10, 9 -> "优秀";
case 8 -> "良好";
case 7 -> "中等";
case 6 -> "及格";
default -> "不及格";
};
System.out.println(level);
✅ 特点
->breakswitch 本身就是一个表达式int result = switch (x) {
case 1:
yield 10;
case 2:
yield 20;
default:
yield 0;
};
yield 用于返回结果(类似 return)。
switch 不能返回值传统 switch 是语句(statement),不是表达式。
int result;
switch (x) {
case 1:
result = 10;
break;
case 2:
result = 20;
break;
default:
result = 0;
}
❌ 不能写成:
int result = switch (x) { ... }; // 编译错误
| Java 版本 | 是否支持返回值 | 方式 |
|---|---|---|
| Java 11 及以前 | ❌ 不支持 | 只能赋值 |
| Java 12+ | ✅ 支持 | switch 表达式 |
| Java 14+ | ✅ 推荐 | case -> |
如果你愿意,我可以帮你:
switch 改成新写法yield vs returnif-else 和 switch 的使用场景免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。