Java-运算符_逻辑运算符

一、基本逻辑运算符

1.概念

  • 逻辑运算符,用来连接关系表达式的运算符
  • 也可以直接连接boolean类型的常量变量

2.规则

image


二、短路逻辑运算符

1.规则

image



三、代码

基本逻辑运算符

public class OperatorDemo7 {
    public static void main(String[] args) {
        // 定义变量
        int i = 10;
        int j = 20;
        int k = 30;

        // & 有false则false
        System.out.println((i > j) & (i > k));
        System.out.println((i < j) & (i > k));
        System.out.println((i > j) & (i < k));
        System.out.println((i < j) & (i < k));
        System.out.println("---------------");

        // | 有true则true
        System.out.println((i > j) | (i > k));
        System.out.println((i < j) | (i > k));
        System.out.println((i > j) | (i < k));
        System.out.println((i < j) | (i < k));
        System.out.println("---------------");

        // ^ 相同为false,不同为true
        System.out.println((i > j) ^ (i > k));
        System.out.println((i < j) ^ (i > k));
        System.out.println((i > j) ^ (i < k));
        System.out.println((i < j) ^ (i < k));
        System.out.println("---------------");

        // !
        System.out.println(!(i > j));
    }
}

短路逻辑运算符

public class OperatorDemo8 {
    public static void main(String[] args) {
        // 定义变量
        int i = 10;
        int j = 20;
        int k = 30;

        // &&
        System.out.println((i > j) && (i > k));
        System.out.println((i < j) && (i > k));
        System.out.println((i > j) && (i < k));
        System.out.println((i < j) && (i < k));
        System.out.println("---------------");

        // ||
        System.out.println((i > j) || (i > k));
        System.out.println((i < j) || (i > k));
        System.out.println((i > j) || (i < k));
        System.out.println((i < j) || (i < k));
        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);

    }
}

posted @ 2021-10-02 09:09  难删亦删  阅读(38)  评论(0)    收藏  举报