Java基础9----运算符2(关系,逻辑运算符)
Posted iostreamzl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础9----运算符2(关系,逻辑运算符)相关的知识,希望对你有一定的参考价值。
引言
前面一篇博文,讲了java中的数学运算符,这里将要讲关系运算符和逻辑运算符
关系运算符
关系运算简单来说就是我们的大小的比较处理。也就是我们的比较运算符。所有的关系运算返回的值都是boolean类型
运算符 | 作用 | 举例 |
---|---|---|
== | 比较两个值是否相等,相等为true | a == b |
!= | 比较两个值是否不等,不等为true | a != b |
> | 比较左边的值是否大于右边,大于为true | a > b |
< | 比较左边的值是否小于右边,小于为true | a < b |
>= | 比较左边的值是否大于等于右边,大于等于为true | a >= b |
<= | 比较左边的值是否小于等于右边,小于等于为true | a < 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韩顺平 p62-80 运算符:算数关系逻辑赋值三元和优先级