Java 逻辑运算符与短路逻辑运算符

Posted 流楚丶格念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 逻辑运算符与短路逻辑运算符相关的知识,希望对你有一定的参考价值。

文章目录

逻辑运算符

逻辑运算符名称举例
&逻辑与a&b ,a和b都为true,结果才为true,其余都为false
逻辑或a丨b ,a和b都为false,结果才为false,其余都为true
^逻辑异或a^b ,a和b相同(即a和b同为true,或同为false)结果才为false,其余为true
!逻辑非 !a ,与a 原来的结果相反

& 两边都是true时,结果才为true,只要运算符两边有一个false,结果就为false
| 两边都为false,结果为false,其余都为true
^ 两边如果相同为false,不相同为true
!就是把原来的结果变为相反,!true即为false,!false即为true

短路逻辑运算符

逻辑运算符名称作用
&&短路与作用和&相同,但是具有短路效果
丨丨短路或作用与丨相同,但是具有短路效果

见名知意:如果判断左边情况,来决定右边执行不执行

&&(短路与),如果左边为真,右边执行;如果左边为假,右边不执行
||(短路或),如果左边为假,右边执行;如果左边为真,右边不执行

区别

&与&&

&(逻辑与),无论左边真假,右边都要执行

&&(短路与),如果左边为真,右边执行;如果左边为假,右边不执行

|与||

|(逻辑或),无论左边真假,右边都要执行

||(短路或),如果左边为假,右边执行;如果左边为真,右边不执行

应用

无论使用哪个运算符,对最终的运算结果时候没有影响的。推荐平时多使用 && ,因为它效率更高些。

代码示例

public class Test 
    public static void main(String[] args) 
        /**
         * 逻辑运算符,结果为boolean类型
         * & 逻辑与运算  并且,多个条件同时为true,结果才为true,否则为false
         * | 逻辑或运算  或者,全部条件同时为false时,结果才为false,否则为true
         * && 短路与运算  当第一个条件为false时,后面的条件都不会进行判断,提高效率
         * || 短语或运算  当第一个条件为true时,后面的条件都不会进行判断,提高效率
         * ^  逻辑异或运算
         * !  逻辑非运算  非   条件为true时,结果为false
         */
        boolean b = 10>20 & 20>30; //false false
        System.out.println(b);
        boolean b1 = 10>20 & 20<30; // false true
        System.out.println(b1);
        boolean b2 = 20>10 & 30>20; // true true
        System.out.println(b2);
        boolean c = 10>20 | 20>30; // false false
        System.out.println(c);
        boolean c1 = 10<20 | 20>30; // true false
        System.out.println(c1);

        int age = 10;
        boolean d = age >= 20 && (age++)<=10;
        System.out.println(b1);
        System.out.println(age);//10
        boolean d1 = age >=10 && (age++) <= 11;
        System.out.println(d1);
        System.out.println(age);//11
    

以上是关于Java 逻辑运算符与短路逻辑运算符的主要内容,如果未能解决你的问题,请参考以下文章

逻辑运算符短路与,短路或

java之逻辑运算符

Java 逻辑运算符

java 逻辑运算符理解

java入门---运算符&逻辑运算符&短路逻辑运算符&赋值运算符&条件运算符&instanceof 运算符

Java 逻辑运算符短路