Java逻辑表达式短路分析


Java的逻辑表达式(||、&&)经常出现一些短路现象,以下面代码为例

  1. public static void main(String[] args){ 
  2.         int a=1,b=2
  3.         if(++a==2||++b==3){ 
  4.             System.out.println("a="+a+" b="+b); 
  5.         } 
  6.     } 

输出结果为 a=2,b=2。

很显然,if语句中(++a=2||++b==3)表达式,++b并没有执行,当判断出++a==2时,表达式为真,++b就被短路了。

综上,使用逻辑表达式应注意:

尽量不要在逻辑表达式中添加运算成分。

 

 

相关内容