温馨提示×

温馨提示×

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

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

java Switch开关如何写

发布时间:2026-07-25 16:42:17 来源:亿速云 阅读:83 作者:小樊 栏目:编程语言

在 Java 中,“Switch 开关”通常指 switch 语句,用于根据一个变量的值执行不同的代码分支。下面从基础写法 → 新特性 → 常见示例给你系统讲一下。


一、最基础的 switch 写法(Java 7+)

int day = 3;

switch (day) {
    case 1:
        System.out.println("星期一");
        break;
    case 2:
        System.out.println("星期二");
        break;
    case 3:
        System.out.println("星期三");
        break;
    default:
        System.out.println("未知日期");
}

✅ 支持类型:

  • byteshortcharint
  • enum
  • String(Java 7 开始)

❗ 注意:

  • 不要忘记 break,否则会穿透(fall-through)
  • default 可选

二、Switch 穿透示例(了解即可)

int num = 2;

switch (num) {
    case 1:
    case 2:
    case 3:
        System.out.println("1~3");
        break;
    default:
        System.out.println("其他");
}

三、Java 14+ 新写法(推荐 ✅)

1️⃣ switch 表达式(返回值)

int score = 85;

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

System.out.println(level);

✅ 特点:

  • 不需要 break
  • 使用 ->
  • 可以有返回值

2️⃣ 带 yield 的写法(复杂逻辑)

int result = switch (score / 10) {
    case 10, 9:
        yield 100;
    case 8:
        yield 80;
    default:
        yield 60;
};

四、switch 与 enum 搭配(非常常用 ✅)

enum Color {
    RED, GREEN, BLUE
}

Color color = Color.RED;

switch (color) {
    case RED -> System.out.println("红色");
    case GREEN -> System.out.println("绿色");
    case BLUE -> System.out.println("蓝色");
}

五、常见错误 ❌

❌ 忘记 break(老写法)

switch (x) {
    case 1:
        System.out.println("1");
    case 2:
        System.out.println("2");
}

输出:

1
2

❌ 不能用于 long / float / double

switch (10L) { } // ❌ 编译错误

六、什么时候用 switch?

✅ 适合:

  • 多个固定值判断
  • enum
  • 替代多个 if-else

❌ 不适合:

  • 范围判断(如 x > 10
  • 复杂条件

如果你愿意,我可以:

  • ✅ 给你 if vs switch 对比
  • ✅ 写一个 真实业务示例
  • ✅ 讲 switch 在 Java 17+ 的最佳实践

你是 初学者 还是 准备面试

向AI问一下细节

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

AI