java逻辑表达式短路分析

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就被短路了。

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

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


你可能感兴趣的:(java高级)