验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

java Switch开关怎么理解

阅读:587 来源:乙速云 作者:代码code

java Switch开关怎么理解

在 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
  • 给你 面试题常见坑点
分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>