栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

[Java] 逻辑运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[Java] 逻辑运算符

逻辑运算符两边要求都是布尔类型,并且最终的运算结果也时布尔类型。

& 逻辑与(可以翻译成并且)

| 逻辑或(可以翻译成或者)

! 逻辑非(取反)

&& 短路与

|| 短路或

        //对于逻辑与&运算符来说,只要一边是false,结果就是false
        //只有两边同时为true,结果才是true
        System.out.println(true & true);//true
        System.out.println(true & false);//false
        System.out.println(false & false);//false

        //逻辑或|,只要有一边是true,结果就是true
        System.out.println(true | true);//true
        System.out.println(true | false);//true
        System.out.println(false | true);//true
        System.out.println(false | false);//false

短路与&&,短路或||

短路与&&和逻辑&有什么区别?

首先这两个运算符的运算结果没有任何区别,完全相同。只不过短路与&&会发生短路现象。

         //什么是短路现象,什么时候会发生“短路”。
        int x = 10;
        int y = 11;
        // 逻辑与&什么时候结果为true(两边都是true,结果才是true)
        // 左边的 x>y 表达式结果已经是false了,其实整个表达式的结
        // 结果已经确定是false了,按道理来说右边的表达式不应该执行。
        System.out.println(x > y & x > y++);//false

        // 通过这个测试得出:x > y++ 这个表达式执行了。
        System.out.println(y); // 12

        //测试短路与&&
        int m = 10;
        int n = 11;
        // 使用短路与&&的时候,当左边的表达式为false的时候,右边的表达式不执行
        // 这种现象被称为短路。
        System.out.println(m > n && m > n++);//false
        System.out.println(n); // 11


        // || 短路或
        // “或”的时候只要有一边是true,结果就是true。
        // 所以,当左边的表达式结果是true的时候,右边的表达式不需要执行,此时会短路。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756122.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号