vagabond1-1983 / JavaRock

java 基础实例讲解

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

&& 逻辑与 vs & 按位与

vagabond1-1983 opened this issue · comments

直接上代码

/**
     * && 逻辑与 vs & 按位与
     * 一般用逻辑与&&就好
     * && 逻辑与也称作短路连接,第一个条件不满足则不再继续下一个条件的判断,直接判定整个表达式为false
     */
    private static void logicalVSBit() {
        //&&只要第一个条件是false,就不会去执行第2个条件
        //但&不管第一个条件是不是false,都会执行第2个条件遇到这样的情况,结果就会不一样了
        int i = 1;
        int j = 1;
        if ((i++ < 0) & (j++ > 0)){

        }
        System.out.println("按位与之后j=" + j);

        i = 1;
        j = 1;
        if ((i++ < 0) && (j++ > 0)){

        }
        System.out.println("逻辑与之后j=" + j);
    }