switch 语句
概念说明
switch 用于多分支判断,适合“多选一”场景。
相比多层 if-else,switch 在分支较多时通常更直观。
语法/规则
switch可以带表达式(如switch week),也可以不带表达式(如switch {})。case按书写顺序匹配,命中第一个分支后默认结束,不会继续向下执行。default是兜底分支,当前面的case都不满足时执行。- 一个
case可以匹配多个值,例如case 6, 7:。 - 如果希望命中后继续执行下一个分支,可使用
fallthrough。 fallthrough会直接进入下一个case,不会重新判断下一个case的条件。
区间判断示例(switch + 条件表达式)
| |
输出结果(输入 22):
| |
枚举值判断示例(switch + 变量)
| |
输出结果(输入 6):
| |
fallthrough 示例
默认情况下,switch 命中一个 case 后就结束。
如果你希望继续执行下一个分支,可以使用 fallthrough。
| |
输出结果(输入 12):
| |
常见错误
- 误以为
switch会自动“贯穿”到后续case,实际上默认不会。 - 在
switch {}中把范围更大的条件写在前面,导致后面的分支永远匹配不到。 - 误解
fallthrough行为,以为会再次判断下一个case条件。 - 枚举场景没有写
default,导致非法输入时没有明确提示。