Java关系运算符以及逻辑运算符

188 阅读1分钟

「这是我参与2022首次更文挑战的第33天,活动详情查看:2022首次更文挑战」。

  1. 关系运算符

1.1关系运算符

关系运算符

```
/*
    关系运算符
*/
public class OperatorDemo{
    public static void main(String[] args){
        //定义变量
        int i = 10;
        int j = 20;
        int k = 10;
        
        //==
        System.out.println(i == j);
        System.out.println(i == k);
        
        //!=
        System.out.println(i != j);
        System.out.println(i != k);
        
        //>
        System.out.println(i > j);
        System.out.println(i > k);
        
        //>=
        System.out.println(i >= j);
        System.out.println(i >= k);
        
        //不下心把==写成了=
        //把j的值赋值给了i,然后输出i的值
        System.out.println(i = j);
    }
}
```


关系运算符

notes:

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

  1. 逻辑运算符

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

拆解为:x>3和x<6 合并为:x>3&&x<6

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

逻辑运算符

```
/*
    逻辑运算符
*/
public class OperatorDemo{
    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));
        System.out.println(!(i > j));
        System.out.println(!!(i > j));
        System.out.println(!!!(i > j));
    }
}
```

2.2逻辑运算符

逻辑运算符

2.3短路逻辑运算符

短路逻辑运算符

```
/*
    短路逻辑运算符
*/
public class OperatorDemo{
    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("--------");
        
        //&&和&
        //System.out.println((i++ > 100) & (j++ > 100));
        System.out.println((i++ > 100) && (j++ > 100));
        System.out.println("i:" + i);
        System.out.println("j:" + j);
    }
}
```

短路逻辑运算符

notes:

  • 逻辑与&,无论左边真假,右边都要执行

  • 短路与&&,如果左边为真,右边执行;如果右边为假,右边不执行

  • 逻辑或|,无论左边真假,右边都要执行

  • 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行