温馨提示×

温馨提示×

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

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

java Switch开关怎么理解

发布时间:2026-07-26 08:12:57 来源:亿速云 阅读:93 作者:小樊 栏目:编程语言

在 Java 里说到 “Switch 开关”,通常是指 switch 语句,它是一种多分支选择结构,用来替代多个 if...else if...else,让代码更清晰、可读性更好。

下面从 是什么、怎么用、执行流程、注意点、新特性 几个方面来理解。


一、Switch 是什么(通俗理解)

switch 就像一个 “多选一开关”

  • 根据一个变量的值
  • 去匹配多个“选项(case)”
  • 匹配到哪一个,就执行哪一个
  • 如果没有匹配到,就执行 default

✅ 适合:一个变量和多个固定值比较


二、基本语法

switch (表达式) {
    case1:
        // 代码
        break;
    case2:
        // 代码
        break;
    default:
        // 默认执行
}

三、一个最简单的例子

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("未知日期");
}

执行过程

  1. day == 3
  2. 找到 case 3
  3. 输出 星期三
  4. 遇到 break,结束 switch

四、break 为什么很重要?

❌ 没有 break 会发生 贯穿(fall through)

int num = 1;

switch (num) {
    case 1:
        System.out.println("一");
    case 2:
        System.out.println("二");
    default:
        System.out.println("其他");
}

输出:

一
二
其他

原因
匹配到 case 1 后,没有 break,继续执行后面的代码。

一般都要加 break(除非你特意想贯穿)


五、switch 支持哪些类型?

Java 传统支持:

  • byte
  • short
  • char
  • int
  • enum(枚举)

Java 7+ 支持:

  • String

❌ 不支持:

  • long
  • float
  • double
  • boolean

✅ 示例(String):

String color = "red";

switch (color) {
    case "red":
        System.out.println("红色");
        break;
    case "blue":
        System.out.println("蓝色");
        break;
}

六、default 是什么?

  • 所有 case 都没匹配到
  • 就执行 default
  • 类似于 if 里的 else
switch (x) {
    case 1:
        break;
    default:
        System.out.println("没有匹配到");
}

default 可有可无
✅ 一般建议写上


七、Java 12+ 新特性:Switch 表达式(推荐)

旧写法 vs 新写法

旧写法

int score;
switch (level) {
    case "A":
        score = 90;
        break;
    case "B":
        score = 80;
        break;
    default:
        score = 60;
}

✅ 新写法(更像“开关赋值”)

int score = switch (level) {
    case "A" -> 90;
    case "B" -> 80;
    default -> 60;
};

✅ 优点:

  • 不用 break
  • 不会贯穿
  • 可以直接返回值
  • 代码更简洁

八、什么时候用 switch,什么时候用 if?

✅ 用 switch:

  • 判断 一个变量
  • 多个固定值 比较

✅ 用 if:

  • 范围判断(如 x > 10
  • 多个条件组合

九、一句话总结

Switch 就是一个“值匹配开关”,根据变量的值,选择执行哪一段代码。

如果你愿意,我可以:

  • 生活例子 再给你讲一遍
  • 帮你 对比 if 和 switch
  • 给你 面试题常见坑点
向AI问一下细节

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

AI