Java逻辑运算符的短路功能

逻辑运算包括:与、或、非、异或。共6种运算符。true 表示真。false 表示假。

一、逻辑运算符

下表列出了逻辑运算符:

操作符 描述
&&,& 逻辑与运算符。当且仅当两个操作数都为真,结果才为真。
||,| 逻辑或操作符。当且仅当两个操作数都为假,结果才为假。
! 逻辑非运算符,又称取反运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。
^ 异或运算符。两个操作数不相同则为true,相同则为false

比较结果图:

Java逻辑运算符的短路功能

二、逻辑运算符的短路

&&、|| 这两个运算符带短路功能。

何为短路功能?短路就是当执行了一部分运算之后,表达式的运算结果已经出来了,没有必要再执行后续运算了。

如 a=true , b=false, 当执行a || b运算时,只要a为真,则表达式结果必然为真,无论b是 true 还是 false 。

&、| 这两个运算符不带短路功能。他两的运算结果跟“ && || ”的运算结果是一致的,只是过程不同。

代码演示:


public class HelloWorld {
  
  public static void main(String[] args) {
    
    //不带短路
    System.out.println("不带短路");
    System.out.println(trueMethod() | falseMethod()); // 两个方法都执行,输出true
    
    //带短路
    System.out.println("带短路");
    System.out.println(trueMethod() || falseMethod()); // 只执行trueMethod方法,输出true。falseMethod方法未执行
    
    
    boolean a=false;
    boolean b=true;
    
    //异或
    System.out.println("异或");
    System.out.println(a^b); //输出true
    
    //取反
    System.out.println("取反");
    System.out.println(!a); //输出true
    
    //与运算
    System.out.println("与运算");
    System.out.println(a&&b); //输出false
    
    //或运算
    System.out.println("或运算");
    System.out.println(a||b); //输出true
  }
  
   static boolean trueMethod() {
     System.out.println("---执行了trueMethod方法");
     return true;
   }
   
   static boolean falseMethod() {
     System.out.println("---执行了falseMethod方法");
     return false;
   }

}

总结:

1. 逻辑运算有四种类型,与、或、非、异或。

2. &&、|| 操作符有短路功能,& 、| 操作符无短路功能

3. 通过演示代码深入理解逻辑运算符的短路功能

如若转载,请注明出处:https://www.javaidea.cn/article/8175.html

(1)
上一篇 2022年2月7日 上午10:03
下一篇 2022年2月7日 上午10:03

相关推荐

发表评论

您的电子邮箱地址不会被公开。