温馨提示×

温馨提示×

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

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

java Switch开关怎么加条件

发布时间:2026-07-26 00:04:24 来源:亿速云 阅读:90 作者:小樊 栏目:编程语言

在 Java 里,给 switch 加“条件”通常分几种情况,我按常见需求给你讲清楚,并附上示例。


一、基础用法(等值判断)

switch 只能做等值判断,不能直接写 >< 这类条件。

int score = 85;

switch (score / 10) {
    case 10:
    case 9:
        System.out.println("优秀");
        break;
    case 8:
        System.out.println("良好");
        break;
    case 7:
    case 6:
        System.out.println("及格");
        break;
    default:
        System.out.println("不及格");
}

✅ 技巧:通过运算(如 score / 10)间接实现“范围条件”。


二、Java 14+:switch 表达式(更简洁)

1️⃣ 使用 case ->(推荐)

int score = 85;

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

System.out.println(level);

✅ 优点:

  • 不需要 break
  • 可直接返回值
  • 代码更清晰

三、结合 if 判断(真正的条件判断)

如果条件复杂,switch 做不到的,就交给 if

int score = 85;

if (score >= 90) {
    System.out.println("优秀");
} else if (score >= 80) {
    System.out.println("良好");
} else if (score >= 60) {
    System.out.println("及格");
} else {
    System.out.println("不及格");
}

✅ 适合:范围判断、多条件组合


四、switch 的“条件”支持范围(重点总结)

支持情况 示例
✅ 等值判断 case 1:
✅ 枚举 case MONDAY:
✅ 字符串 case "A":
❌ 范围判断 case > 10:
❌ 逻辑表达式 case x > y:

五、枚举 + switch(常用写法)

enum Status {
    SUCCESS, ERROR, LOADING
}

Status status = Status.SUCCESS;

switch (status) {
    case SUCCESS -> System.out.println("成功");
    case ERROR -> System.out.println("失败");
    case LOADING -> System.out.println("加载中");
}

六、什么时候用 switch?

✅ 适合:

  • 判断 固定值
  • 枚举
  • 状态码、类型码

❌ 不适合:

  • 需要 ><
  • 多条件组合
  • 复杂业务逻辑

如果你有具体场景(比如:状态机、权限判断、成绩、订单状态),可以把代码贴出来,我可以直接帮你改写 ✅

向AI问一下细节

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

AI