温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Switch开关能返回吗

发布时间:2026-07-25 19:00:18 来源:亿速云 阅读:93 作者:小樊 栏目:编程语言

可以,但取决于你用的是哪种 switch


✅ Java 12+:switch 可以作为表达式返回值(推荐)

Java 12 开始引入了 switch 表达式(Switch Expressions)
switch 可以返回值,并且可以赋值给变量。

示例(Java 14+ 常用写法)

int score = 90;

String level = switch (score / 10) {
    case 10, 9 -> "优秀";
    case 8 -> "良好";
    case 7 -> "中等";
    case 6 -> "及格";
    default -> "不及格";
};

System.out.println(level);

特点

  • 使用 ->
  • 不需要 break
  • 必须有返回值(覆盖所有情况)
  • switch 本身就是一个表达式

✅ Java 13+(yield 写法)

int result = switch (x) {
    case 1:
        yield 10;
    case 2:
        yield 20;
    default:
        yield 0;
};

yield 用于返回结果(类似 return)。


❌ Java 11 及以前: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 return
  • 对比 if-elseswitch 的使用场景
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI