如下代码示例:
public static void main(String[] args) {
boolean A = true;
boolean B = false;
boolean C = true;
judgeOne(A, B, C);
judgeTwo(A, B, C);
}
private static void judgeOne(boolean A, boolean B, boolean C) {
if (A) {
if (B) {
System.out.println("yes-1");
}
} else if (C) {
System.out.println("no-1");
}
}
private static void judgeTwo(boolean A, boolean B, boolean C) {
if (A && B) {
System.out.println("yes-2");
} else if (C) {
System.out.println("no-2");
}
}
if的嵌套,并不能简单等价于将条件取&&,如图所示,当A满足B不满足C满足时,第二种情况执行了C的代码,第一种情况则没有执行