1. 分支(分治?)
- if else 表达的是二分支;if else if else 表达的是三分支;
- switch case 表达的则是多分秩。
1.2 有无漏网之鱼
if (A){
B;
}
Z;
不经过 A 也是可以到达 Z 的,也即 if 中的 A 判断未通过。
if (A){
B;
} else {
C;
}
Z;
想要执行 Z,必须经过 B、C 中的其中一个。if 与 else 为对立事件,对立事件的概率之和为1.
if (A){
B;
}else if (C){
D;
}
Z;
想要执行 Z,却不必执行 B 和 D 中的任何一个,也即 A 和 C 的断言均未通过。
1.3 if/else if 与 设置布尔变量
bool ok = true;
if (A) {
ok = false;
} else if (B){
ok = false;
}
return ok;
对于 if / else if 二分支而言,并未包含全部的集合空间,在 if 、else if 之外,还其他的取值情况,在这些情况下,并不改变布尔变量ok
的取值,当然只有在 A 内的逻辑判断全不成立时(比如逻辑表达式通过 || 连接),才会去判断 B;
其实等价于:
bool ok = true;
if (A || B)
ok =false;
return ok;