B47
多分支:嵌套 if 与 else 配对
引入
章前总览 第9章处理多种情形:在 if / else 里再写 if,就形成嵌套;推荐写成清晰的 if … else if … else。最容易踩坑的是:else 总跟最近的未配对 if。
逻辑链条:
- C1:为什么需要多分支
- C2:推荐 else if 写法
- C3:else 配对陷阱与花括号
1 C1. 从嵌套到多分支
单分支、双分支只能分 1~2 种情况。要判断多种情形,就要用多分支:在 if 或 else 里再嵌套完整的 if。
推荐形式
- 先判断情形 1;不满足再
else if情形 2;再else if…… - 最后的
else通常不加条件,表示“前面全不成立”。 - 这种写法对应教材图 9.1(d)的简洁形式。
骨架
if (条件1)
语句1;
else if (条件2)
语句2;
else if (条件3)
语句3;
else
语句4; // 其余情况
2 C2. else 配对陷阱
规则:else 总是与离它最近、尚未配对的 if 配对。不加花括号时,缩进骗不了编译器。
补充说明
不推荐
if (x == 0)
if (y == 0)
y++;
else {
x++;
z = x + y;
}
实际:else 挂在内层 if(y==0) 上;当 x!=0 时什么也不做。
推荐写法
if (x == 0) {
if (y == 0)
y++;
} else {
x++;
z = x + y;
}
优点:外层 if/else 配对一目了然。
小结
多分支两句口诀:
情形多 → else if 链式写
嵌套深 → 花括号把层次锁死
✓
里程碑达成:
下一节用 else if 做 VIP 折扣和每月天数。