今天看到以前同事写的一段代码,if的条件有2个logic 运算符, 但却没有加(), 所以很难理解,下面我模拟的此段代码:
boolean a , b, c;
a = true;
b = false;
c = true;
if (a || b && c) {
System.out.println("A");
}
a = true;
b = false;
c = false;
if (a || (b && c)) {
System.out.println("B");
}
a = false;
b = true;
c = false;
if (a || b && c) {
System.out.println("C");
}
a = false;
b = false;
c = true;
if (a || b && c) {
System.out.println("D");
}
输出结果是: A, B
从code角度来讲, 第二种方式比第一种方式容易理解多了,代码的可维护性也高,所以复杂的问题加上()就很明了:)