Java 逻辑运算符(&、|、^、!、&&、||)

396 阅读1分钟

一、逻辑运算符

短路逻辑运算符逻辑运算符 的区别是:

  • 逻辑运算符:先走一遍,在判断

  • 短路逻辑运算符:一但符合条件,后面的判断不走

二、逻辑运算符

  • 逻辑运算符:&、|、^、!

    image.png

  • 案例代码

public class test {
  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 = false
    System.out.println((i < j) & (i > k)); // true & false = false
    System.out.println((i > j) & (i < k)); // false & ture = false
    System.out.println((i < j) & (i < k)); // ture & ture = ture

    // |:有 true 则为 true
    System.out.println((i > j) | (i > k)); // false | false = false
    System.out.println((i < j) | (i > k)); // true | false = ture
    System.out.println((i > j) | (i < k)); // false | ture = ture
    System.out.println((i < j) | (i < k)); // ture | ture = ture

    // ^:结果相同为 false,不同为 true
    System.out.println((i > j) ^ (i > k)); // false ^ false = true
    System.out.println((i < j) ^ (i > k)); // true ^ false = ture
    System.out.println((i > j) ^ (i < k)); // false ^ ture = ture
    System.out.println((i < j) ^ (i < k)); // ture ^ ture = false
    
    // !:结果相同为 false,不同为 true
    System.out.println((i > j)); // false = false
    System.out.println(!(i < j)); // !false = true
    System.out.println(!!(i > j)); // !!false = false
    System.out.println(!!!(i < j)); // !!!false = ture
  }  
}

三、短路逻辑运算符

  • 逻辑运算符:&&、||

    image.png