java的逻辑表达式(||、&&)经常出现一些短路现象,以下面代码为例
public static void main(String[] args){
int a=1,b=2;
if(++a==2||++b==3){
System.out.println("a="+a+" b="+b);
}
}
输出结果为 a=2,b=2。
很显然,if语句中(++a=2||++b==3)表达式,++b并没有执行,当判断出++a==2时,表达式为真,++b就被短路了。
综上,使用逻辑表达式应注意:
尽量不要在逻辑表达式中添加运算成分