从零学Java(15)之逻辑运算符02

Posted 编程界明世隐

tags:

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

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

导航

✪ 从零学Java系列目录索引
◄上一篇  14.逻辑运算符01
►下一篇待更新     

引言

♀ 小AD:明哥我来了
♂ 明世隐:来了呀,老妹儿。
♀ 小AD:明哥我要学Java
♂ 明世隐:哦豁,这么主动,开窍了撒
♀ 小AD:对啊,我回去还去网上查了下,我发现逻辑运算符你还没讲完。
♂ 明世隐:看来是下了功夫哈,是什么让你突然这么自觉了呢,是星星吗?
♀ 小AD:没有拉,我就是爱学习的妹儿。
♂ 明世隐:得我就信你一回,今天来学习逻辑运算符的第二部分,短路逻辑运算符。
♀ 小AD:还短路逻辑运算符,咋不长路逻辑运算符呢。
♂ 明世隐:不服是吧,来来来,让你看看。

概念

“短路与”用 “&&” 表示,与&是一样的意思,就是两边都为true结果才会为true,有一边是false则为false,一旦发现左边是false了,右边就不执行了,因为结果一定是false,所以可以提高效率。
“短路或”用“||”表示,与 | 一样,两边只要有一个为true,则结果就为true,所以一旦左边为true了,后面的就无需执行了,因为返回结果就是true,也可以提高效率。

分类

符号说明举例
&&短路与作用与 & 相同,但是有短路效果
||短路或作用与 | 相同,但是有短路效果

逻辑与

package learnJava.P15;

public class Learn1 {

	public static void main(String[] args) {
		int a = 10;
		int b = 20;
		//先执行a>10的判断,此时为false,然后a++要执行,所以a=11,因为左边已经判断了为false所以&&右边已经没必要执行了
		System.out.println(a++>10&&b++>10);
		System.out.println(a);//执行了a++ 所以a=11
		System.out.println(b);//没有执行b++ 所以b=20
	}
}

运行结果:

false
11
20

♀ 小AD:哥我看你的注释我也看明白了,意思是左边已经为false了,右边就不会执行了。
♂ 明世隐:嗯,就这个意思,没什么难的。
♀ 小AD:我的小鲁班已经被暴君打死了,敌方刺客就没必要来刺杀了,是这个意思吧
♂ 明世隐:说的没有毛病,就是飘的太远了。
♀ 小AD:是这个意思就成,就是提高了效率,就是所谓的短路效果吧。
♂ 明世隐:对的

逻辑或

package learnJava.P15;

public class Learn2 {

	public static void main(String[] args) {
		int a = 10;
		int b = 20;
		//先执行a>=10的判断,此时为true,然后a++要执行,所以a=11,因为左边已经判断了为true所以||右边已经没必要执行了
		System.out.println(a++>=10||b++>10);
		System.out.println(a);//执行了a++ 所以a=11
		System.out.println(b);//没有执行b++ 所以b=20
	}
}

运行结果:

true
11
20

♀ 小AD:哥,这个我看懂了,a++>=10这个返回是true,所以后面的没必要执行了。
♂ 明世隐:是的哟,这个跟 && 很相似,&&是判断false就不执行后面,|| 是判断为true就不再执行后面,达到短路的效果。
♀ 小AD:嗯我学会了,那要是前面那句为false的话,后面的还是要执行的,没错吧。
♂ 明世隐:没错,这个 || 两边条件,只要有一个为true就可以,所以第一个为false,就会去看看后面的成立否,把代码改一下就好 ,a++>=10,把等号去掉即可。

package learnJava.P15;

public class Learn2 {

	public static void main(String[] args) {
		int a = 10;
		int b = 20;
		//先执行a>10的判断,此时为false,然后a++要执行,所以a=11,因为左边已经判断了为false,所以||右边也需要执行
		System.out.println(a++>10||b++>10);
		System.out.println(a);//执行了a++ 所以a=11
		System.out.println(b);//执行了b++ 所以b=21
	}
}

运行结果:

true
11
21

♀ 小AD:看到了,b++也执行了,证明前面的为false,后面会执行。
♂ 明世隐:对,这么快就学废了呀!厉害哦,这个短路实现以后在项目中会经常的用到,所以要好好理解。
♀ 小AD:那必须的,也不看看我什么天赋,分分钟学会,来明哥,我来举个例子。
♂ 明世隐:不,你不想,今天说什么也不能举了,下节再举,我受不了,溜了溜了。
♀ 小AD:你。。。。

小结

这节总结了“逻辑运算符02”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ 从零学Java系列目录索引
◄上一篇  14.逻辑运算符01
►下一篇待更新     

热门专栏推荐

1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java

另外

为了帮助更多小白从零进阶Java工程师,从CSDN官方那边搞来了一套 《Java 工程师学习成长知识图谱》,尺寸 870mm x 560mm,展开后有一张办公桌大小,也可以折叠成一本书的尺寸,原件129元现价 29 元先到先得,有兴趣的小伙伴可以了解一下

以上是关于从零学Java(15)之逻辑运算符02的主要内容,如果未能解决你的问题,请参考以下文章

从零学Java(16)之赋值运算符

从零学Java(18)之三元运算符

从零学Java(12)之算术运算符(++- -)

从零学Java(11)之算术运算符(加减乘除余字符连接)

从零学java笔录-第15篇 循环语句 二

从零学Java——标识符变量运算符