3.26Java逻辑运算符

3.26Java逻辑运算符

逻辑运算符总览

逻辑与(&与)

特点:

  • 整个逻辑运算符两边(变量或常量值)都是布尔值

  • 操作值必须两个都是true结果才是true,只要有一个是false其结果就是false

逻辑或(|或)

  • 两个操作数中有一个是true其返回值就是true

  • 如果第一个操作数是false则要去看后一位操作数,如果后一位操作数是false则结果是false,如果后一位操作数是true则结果是true

逻辑非(!非---取反)

特点:

  • 操作一个变量不是两个变量

  • !b1---如果b1是true结果就是false,如果b1是false结果就是true

逻辑异或(^异或)

  • b1^b2如果b1和b2都是true返回false,如果同为false结果也是false,只有一个是true一个是false返回结果为true

短路与(&&与---这个短路只需要运算一遍,一个为false就不去运算后面一位操作数)

  • 只要有一个为false,则不需要去判断另一个是否为false直接返回false

短路或(||或)

  • 只要有一个为true则直接返回true不需要去判断第二个操作数

  • 如果前面一个操作数是false回去看后面,如果后面是true则返回true如果后面是false则返回false

一半在运算逻辑与和逻辑或的时候采用短路的方式,这样可以提高效率

实例:

/**
* TestOperatorNo5
* @author Lucifer
*/
public class TestOperatorNo5 {
   public static void main(String arguments[]){
       boolean b1 = true;
       boolean b2 = false;
       System.out.println(b1&b2);
       System.out.println(b1|b2);
       System.out.println(b1^b2);
       System.out.println(!b2);

       //短路
//       int c = 3/0;
       boolean b3 = 1>2 && 2<(3/0); //短路与:第一个操作数的值为false则不需要再计算第二位操作数
       System.out.println(b3);
  }
}

 

 

It's a lonely road!!!
原文地址:https://www.cnblogs.com/JunkingBoy/p/14584973.html