龙空技术网

“全栈2019”Java第十九章:关系运算符、条件运算符和三元运算符

人人都是程序员 70

前言:

现在小伙伴们对“java中三元运算”大体比较重视,各位老铁们都需要剖析一些“java中三元运算”的相关文章。那么小编同时在网摘上汇集了一些关于“java中三元运算””的相关文章,希望我们能喜欢,各位老铁们快快来学习一下吧!

难度

初级

学习时间

30分钟

适合人群

零基础

开发语言

Java

开发环境JDK v11IntelliJ IDEA v2018.31. 什么是关系运算符?

关系运算符确定一个操作数是否大于,小于,等于或不等于另一个操作数。这些运算符中的大多数也可能看起来很熟悉。

请记住,在测试两个原始值是否相等时,必须使用“==”,而不是“ =”。

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第十八章:一元运算符

下一章

“全栈2019”Java第二十章:按位与、按位或、异或、反码、位运算

学习小组

加入同步学习小组,共同交流与进步。

方式一:关注头条号gorhaf,私信“Java学习小组”。方式二:关注公众号gorhaf,回复“Java学习小组”。全栈工程师学习计划

关注我们,加入“全栈工程师学习计划”。

版权声明

原创不易,未经允许不得转载!

标签: #java中三元运算 #java中冒号是什么运算符