网站首页 > java教程 正文
难度
初级
学习时间
30分钟
适合人群
零基础
开发语言
Java
开发环境
- JDK v11
- IntelliJ IDEA v2018.3
1.什么是关系运算符?
关系运算符确定一个操作数是否大于,小于,等于或不等于另一个操作数。这些运算符中的大多数也可能看起来很熟悉。
请记住,在测试两个原始值是否相等时,必须使用“==”,而不是“ =”。
2.关系运算符表
接下来,我们将依次演示它们。
3.>、>=
当我们需要比较一个数是否大于一个数,或者一个数是否大于或等于一个数时,就可以使用>、>=:
运行结果:
4.<、<=
当我们需要比较一个数是否小于一个数,或者一个数是否小于或等于一个数时,就可以使用<、<=:
运行结果:
5.==
当我们需要比较一个数是否等于一个数时,就可以使用==:
运行结果:
6.!=
当我们需要比较一个数是否不等于一个数时,就可以使用!=:
运行结果:
7.instanceof
注:本小节可以跳过!后续章节会详细讲解。
instanceof是一个类型比较运算符,后面等我们学习类以及对象之后,再来讲解instanceof关键字。这里我们只是举一个例子:
运行结果:
比较对象是否是某个类型;例如上例中的value是否为字符串String类型。
8.什么是条件运算符?
条件运算符用于两个布尔表达式运算。
这些运算符表现出“短路”行为,这意味着仅在需要时才评估第二个操作数。
9.条件运算符表
接下来,我们依次演示它们。
10.&&
逻辑与(&&)运算符用于两个表达式的值都是真的时候,整个条件为真。
举个生活中的例子,我猜测“明天会下雨,而且还会下雪。”
请问,我的猜测对不对?
要想知道我的猜测对不对,分为两个部分来看,第一部分“明天会下雨”,第二部分“而且还会下雪”。
如果明天下了雨,而且还下了雪,那么我的猜测是对的;
如果明天下了雨,但是没有下雪,那么我的猜测是错的;
如果明天没有下雨,也没有下雪,那么我的猜测是错的;
如果明天没有下雨,但是下了雪,那么我的猜测是错的;
总共只有四种情况,其中只有一种情况是满足条件的,那就是“明天下了雨,而且还下了雪”。这种情况告诉我们,只有两个条件都满足了,整个条件才是满足的。
通过这四种情况,我有一个疑问:
如果明天下雨了,那么我还要再去确认有没有下雪,如果下雪了,我的猜测就是对的,没下雪,我的猜测就是错的。
如果明天没下雨呢?我还需要去确认有没有下雪吗?
下雨了,我去确认有没有下雪,说明还有一丝猜对的希望。没有下雨,也就是连猜对希望都没有了,我还有必要再去确认有没有下雪吗?当然不需要了,雨都没下,第一个条件都不满足了,第二个条件已经是于事无补了,再去看第二个条件的结果已经没有任何意义。
所以,我们这里得出两个结论:
- 参与逻辑与运算时,只要有一个条件不满足,整个条件都不满足。
- 当遇到条件不满足时,不用再运算后面的表达式。
其中,第二条表现出“短路”行为,这意味着仅在需要时才运算后面的表达式。
用代码表示“明天会下雨,而且还会下雪”的所有情况:
运行结果:
将变量名换成合法规范的写法:
我们通过真与假来列举一下四种情况:
真&&真,结果为真
真&&假,结果为假
假&&假,结果为假
假&&真,结果为假
换成true和false来列举一下:
true && true,结果为true
true && false,结果为false
false && false,结果为false
false && true,结果为false
用代码体现一下:
运行结果:
11.||
逻辑或(||)运算符用于两个表达式的值只要有一个为真的时候,整个条件为真。
举个生活中的例子,我猜测“明天会下雨,或者还会下雪。”
请问,我的猜测对不对?
要想知道我的猜测对不对,分为两个部分来看,第一部分“明天会下雨”,第二部分“或者还会下雪”。
如果明天下了雨,而且还下了雪,那么我的猜测是对的;
如果明天下了雨,但是没有下雪,那么我的猜测是对的;
如果明天没有下雨,也没有下雪,那么我的猜测是错的;
如果明天没有下雨,但是下了雪,那么我的猜测是对的;
总共只有四种情况,其中有三种情况是满足条件的,只有一种情况是错的,错的情况那就是“明天没有下雨,也没有下雪”。这种情况告诉我们,只有两个条件都不满足,整个条件才不满足。
通过这四种情况,我有一个疑问:
如果明天下雨了,那我有必要再去确认有没有下雪吗?没有必要了,因为不管下不下雪,我对猜测都是对。
如果明天没下雨呢?我还有必要再去确认有没有下雪吗?
当然有必要,因为还有一丝希望猜对,后面如果下雪了,那么我的猜测就是对;如果没有下雪,那么我的猜测就是错的。
所以,我们这里得出两个结论:
- 参与逻辑或运算时,只要有一个条件满足,整个条件都满足。
- 当遇到条件满足时,不用再运算后面的表达式。
其中,第二条表现出“短路”行为,这意味着出现了满足的条件后,整个条件表达式已经满足。
用代码表示“明天会下雨,或者还会下雪”的所有情况:
运行结果:
将变量名换成合法规范的写法:
我们通过真与假来列举一下四种情况:
真 || 真,结果为真
真 || 假,结果为真
假 || 假,结果为假
假 || 真,结果为真
换成true和false来列举一下:
true || true,结果为true
true || false,结果为true
false || false,结果为false
false || true,结果为true
用代码体现一下:
运行结果:
12.三元运算符?:
还有一个条件运算符是?:,可以被认为是if-then-else语句的简写(后续文章中马上会讲解到)。
?:运算符也称为三元运算符,因为它使用三个操作数。
当条件表达式为真时,执行表达式1;当条件表达式为假时,执行表达式2;
我们还是举一个生活中当例子:“如果明天下雨,我就带伞;如果明天不下雨,我就不带伞”。
换成三元表达式就是:
如果明天下雨?带伞:不带伞
如果条件表达式满足,会采用冒号前面的值;
如果条件表达式不满足,则会采用冒号后面的值;
用代码体现:
运行结果:
我们通过真与假来列举一下两种情况:
真 ? 表达式1 : 表达式2,结果为表达式1
假 ? 表达式1 : 表达式2,结果为表达式2
换成true和false来列举一下:
true ? 表达式1 : 表达式2,结果为表达式1
false ? 表达式1 : 表达式2,结果为表达式2
用代码体现一下:
运行结果:
小试牛刀
用三元运算符来表示“如果1+1==2,为真时打印‘正确’,为假时打印‘错误’”。
参考答案:
运行结果:
至此,Java中关系运算符、条件运算符和三元运算符相关内容讲解先告一段落,更多内容请持续关注。
附:运算符表
答疑
如果大家有问题或想了解更多前沿技术,请在下方留言或评论,我会为大家解答。
上一章
下一章
“全栈2019”Java第二十章:按位与、按位或、异或、反码、位运算
学习小组
加入同步学习小组,共同交流与进步。
- 方式一:关注头条号gorhaf,私信“Java学习小组”。
- 方式二:关注公众号gorhaf,回复“Java学习小组”。
全栈工程师学习计划
关注我们,加入“全栈工程师学习计划”。
版权声明
原创不易,未经允许不得转载!
猜你喜欢
- 2024-09-27 三目运算符的空指针问题(三目运算符效率高吗)
- 2024-09-27 Java运算符复合赋值运算符三元运算符圆括号改变运算优先级
- 2024-09-27 Java路径-08-Java运算符(java里运算符都有那些功能)
- 2024-09-27 Java中的运算符(java中的运算符分为几种)
- 2024-09-27 Python中的条件表达式,也称之为三元运算符,使用方法和技巧
- 2024-09-27 java运算符详细介绍(java运算符运算规则)
- 2024-09-27 Java17运算符看这一篇就够了(java17语法变化)
- 2024-09-27 Java三元运算符(java三元运算符的语法格式)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)