⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Java Switch 表达式:模式匹配与箭头语法

掌握增强的 switch 表达式,支持箭头语法、多标签匹配和返回值,使条件分支更简洁安全。 · 难度:入门 · +15XP

传统 vs 新式 Switch

传统 switch 语句存在穿透、遗漏 break、作用域混乱等问题。Java 14+ 引入 switch 表达式,支持 -> 箭头语法和 yield 返回值。

箭头语法

String result = switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> "休息日";
    case TUESDAY                -> "工作日";
    case THURSDAY, SATURDAY     -> "加班日";
    case WEDNESDAY              -> "会议日";
    default -> "未知";
};

yield 返回值

当需要代码块时,使用 yield 返回:

int numLetters = switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> 3;
    case TUESDAY -> { System.out.println("周二"); yield 4; }
    default -> 0;
};

模式匹配预览(Java 17+)

Object obj = "Hello";
String result = switch (obj) {
    case String s -> "字符串: " + s;
    case Integer i -> "整数: " + i;
    default -> "未知类型";
};

要点总结

特性传统 switchswitch 表达式
语法冒号 + break箭头或 yield
返回值无(语句)有(表达式)
穿透容易发生箭头语法自动避免
穷举性不要求必须穷举或提供 default

练习提示

在 starter_code 中,补全 switch 表达式,使输入数字 1-7 返回对应的星期中文名。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 133 篇
0 完成
🔥 0