Java 中与(&)短路与(&&)以及 或(|)短路或(||)的关系

守給你的承諾、 提交于 2019-11-27 03:38:39

Java 中与(&)短路与(&&)以及 或(|)短路或(||)的关系


&与&&,|与||的区别并不会影响整个表达式判断的结果,但是如果左边的条件足够判断结果的话则不会对右边的条件执行判断。

public class Test {
    public static void main(String[] args) {
        System.out.println(true & false);//结果为false
        System.out.println(true & true);//结果为true
        System.out.println(false & false);//结果为false
        System.out.println(false & true);//结果为false
        System.out.println(true && false);//结果为false
        System.out.println(true && true);//结果为true
        System.out.println(false && false);//结果为false
        System.out.println(false && true);//结果为false

        System.out.println(true | false);//结果为true
        System.out.println(true | true);//结果为true
        System.out.println(false | false);//结果为false
        System.out.println(false | true);//结果为true
        System.out.println(true || false);//结果为true
        System.out.println(true || true);//结果为true
        System.out.println(false || false);//结果为false
        System.out.println(false || true);//结果为true
        System.out.println("=================================");
        int i = 1;
        System.out.println("false & i++==1:" + (false & i++ == 1));
        System.out.println("false & i++==1 后i的值:" + i);
        i = 1;
        System.out.println("false && i++==1:" + (false && i++ == 1));
        System.out.println("false && i++==1 后i的值:" + i);
    }
}

运行结果如下
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!