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就被短路了。综上,使用逻辑表达式应注意:尽量不要在逻辑表达式中添加运算成分。