逻辑运算符

注意事项:

  • 关系运算符的结果都是boolean类型,要么是true,要么就是true,要么是false。
  • 千万不要把“==”误写成“=”。

逻辑运算符概述
在数学中,一个数据x,大于3,小于6,我们可以这样来进行表示:3<x<6。
在java中,需要把上面的式子先进行拆解,再进行合并表示。
拆解为:x>3和x<6
合并后:x>3&&x<6

&&其实就是一个逻辑运算符。
我们可以这样说,逻辑运算符,是用来连接关系表达式的运算符。
当然,逻辑运算符也可以直接连接布尔类型的常量或者变量。

/*
逻辑运算符
*/
public class OperatorDemo01 {
public static void main(String[] args) {
    //定义变量
    int i = 10;
    int j = 20;
    int k = 30;
    
    //& 有false则false
    System.out.println((i > j) & (i > k));//false & false
    System.out.println((i < j) & (i > k));//true & false
    System.out.println((i > j) & (i < k));//false & true
    System.out.println((i < j) & (i < k));//false & false
    System.out.println("-------");
    
    //| 有true则true
    System.out.println((i > j) | (i > k));//false | false
    System.out.println((i < j) | (i > k));//true | false
    System.out.println((i > j) | (i < k));//false | true
    System.out.println((i < j) | (i < k));//true | true
    System.out.println("-------");
    
    //^ 相同为false,不同为true
    System.out.println((i > j) ^ (i > k));//false ^ false
    System.out.println((i < j) ^ (i > k));//true ^ false
    System.out.println((i > j) ^ (i < k));//false ^ true
    System.out.println((i < j) ^ (i < k));//true ^ true
    System.out.println("-------");
    
    //!
    System.out.println((i > j));//false
    System.out.println(!(i > j));//!false
    System.out.println(!!(i > j));//!!false
    System.out.println(!!!(i > j));//!!!false
    
}
    }

短路逻辑运算符

注意事项:

  • 逻辑与&,无论左边真假,右边都要执行。
  • 短路与&&,如果左边为真,右边执行,如果左边为假,右边不执行。
  • 逻辑或|,无论左边真假,右边都要执行。
  • 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
/*
逻辑运算符
*/
public class OperatorDemo01 {
public static void main(String[] args) {
    //定义变量
    int i = 10;
    int j = 20;
    int k = 30;
    
    //&& 有false则false
    System.out.println((i > j) && (i > k));//false && false
    System.out.println((i < j) && (i > k));//true && false
    System.out.println((i > j) && (i < k));//false && true
    System.out.println((i < j) && (i < k));//false && false
    System.out.println("-------");
    
    //|| 有true则true
    System.out.println((i > j) | (i > k));//false || false
    System.out.println((i < j) | (i > k));//true || false
    System.out.println((i > j) | (i < k));//false || true
    System.out.println((i < j) | (i < k));//true || true
    System.out.println("-------");
    
    //&&和&
    System.out.println(i++ > 100) & (j++ > 100 );//false & false
    System.out.println(i++ > 100) && (j++ > 100 );//false & false
    System.out.println("i:" + i);
    System.out.println("j:" + j);
}
    }
Last modification:March 26th, 2020 at 10:02 pm
如果觉得我的文章对你有用,请随意赞赏