Java基础9----运算符2(关系,逻辑运算符)

Posted iostreamzl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础9----运算符2(关系,逻辑运算符)相关的知识,希望对你有一定的参考价值。

引言

前面一篇博文,讲了java中的数学运算符,这里将要讲关系运算符和逻辑运算符

关系运算符

关系运算简单来说就是我们的大小的比较处理。也就是我们的比较运算符。所有的关系运算返回的值都是boolean类型

运算符作用举例
==比较两个值是否相等,相等为truea == b
!=比较两个值是否不等,不等为truea != b
>比较左边的值是否大于右边,大于为truea > b
<比较左边的值是否小于右边,小于为truea < b
>=比较左边的值是否大于等于右边,大于等于为truea >= b
<=比较左边的值是否小于等于右边,小于等于为truea < b

需要注意的是,我们常识中的=再Java中是赋值运算符,再Java判断是否相等用==

public class Demo {
    public static void main(String[] args) {
        // 关系运算符示例
        int a = 1, b = 4;
        boolean res = a > b; // false
        System.out.println(res);
    }
}


关系运算符能够实现字符与数字的比较
这也是得益于Java的自动类型转换。

public class Demo {
    public static void main(String[] args) {
        // 关系运算符示例
        char a = '大';
        boolean res = a == 22823; // 22823是字符大的unicode编码
        System.out.println(res);
    }
}

三目(赋值)运算

前面的关系运算符都是二目运算符,再实际的开发中还有一个很常用的关系运算符:三目运算符(也是Java唯一的三目运算符),它能实现比较并赋值的一个操作
三目运算符的结构:关系表达式 ? 表达式条件为真的内容 : 表达式条件为假的内容
示例:

public class Demo {
    public static void main(String[] args) {
        // 利用三目运算符找出两个数中的较大值
        int a = 2, b = 5;
        // 比较a,b的大小,a>b则三目运算符的结果为a,否则结果为b
        int res = a > b ? a : b;
        System.out.println(res);
    }
}


如果不使用三目运算符,则上面的判断代码就需要这样xie

if (a > b) {
    res = a;
} else {
    res = b;
}
// 对比一下该用什么方式一目了然了把

萨姆运算符也是支持嵌套使用的,示例如下,找出三个是中的最大值

public class Demo {
    public static void main(String[] args) {
        // 利用三目运算符找出3个数中的较大值
        int a = 2, b = 5, c = 4;
        // 先利用三目运算比较出a,b中的较大者
        // 再将较大者与c进行比较。每一次的比较都是一个三目运算
        int res = a > b ? (a > c ? a : c) : (b > c ? b : c);
        System.out.println(res);
    }
}


而上面的比较代码,用if-else语句将更加的复杂,但是用了 这样的运算符程序的可读性就比较差了,,具体的是否使用,看个人的取舍,但是这不能否认三目运算符很重要。

逻辑运算符

逻辑运算用于将多个管旭运算连接起来,表达式的结果为boolean类型

运算符作用举例
&&且运算,只有运算符两边的表达式都为true整个结果才为true
这个运算符是一个截断运算符,如果表达式左边的值为false
则不会进行表达式右边的运算
a > b && a > c
||或运算,只要运算符两边任意一个为true,整个表达式的结果为true
这也是一个截断运算,如果左边为true则不会进行右边的计算
a > b || a > c
!非运算,将true变为false,false变为true!(a==b)
public class Demo {
    public static void main(String[] args) {
        // 逻辑运算符
        int a = 1, b = 2, c = 3;
        boolean res1 = a > b || a < c ;
        System.out.println(res1);
    }
}

以上是关于Java基础9----运算符2(关系,逻辑运算符)的主要内容,如果未能解决你的问题,请参考以下文章

大数据必学Java基础(十七):关系运算符和逻辑运算符

java基础运算符

零基础 快速学Java韩顺平 p62-80 运算符:算数关系逻辑赋值三元和优先级

4 优先级和关系运算符

Java Web 学习笔记 第三章 java基础(三-运算符)

Java语言基础---逻辑运算(长路短路运算)