00:00
呃,然后再一个的话呢,就是大家会发现我们这里边的这个单独的一个雨啊,和这个两个雨啊,这个雨叫准确的说叫短路语啊,嗯,其实开发时有时候你这个叫单语,这个叫双语也行啊,这是叫单货,这叫双货了,他俩好像都一样啊,那那是不是你得考虑考虑有什么区别,开发中应该用哪个呀,对吧。哎,对,那这块呢,咱们来做一个测试啊,嗯,还是在这儿。哎,这呢,我们是一个叫逻辑运算符,我叫logic,它的测试CTRLCCTRLSCTRLV一下。哎,这个运算符之四。
01:02
逻辑运算符它的一个使用,首先呢,先说一下有哪几个啊,刚才咱们讲过了,逻辑与短路与。逻辑或短路或啊逻辑非逻辑抑或对,就这几种。好好,然后呢,说明首先第一个逻辑运算符,它操作的都是布尔类型的变量。哎,布尔啊类型的,哎变量啊这呢是非常需要大家关注的点啊,就这里边呢,它都是波尔类型的,因为咱们呢,呃,下午的话呢,再去讲呢,会讲的这个位运算符,你会发现位运算符里边你看也有这仨啊。那这时候你别整混了,你要是见到这个符号了,你说哎,这到底是逻辑运算符还是未运算符呢?关键取决于你看前后的这个变量类型啊,像这种是数的,它就是微运算符,哎,它如果要是这种布尔型的呢,哎,就是逻辑运算符。
02:08
对,就这样子去区分啊,那运算符咱们用的少,基本上都是用的逻辑啊行,那我们看这个逻运算符,首先呢,这个先明确一下,其次的话呢,咱们刚才呢,说的这个需要大家掌握的结论呢,就是我要把这里边的这个这个红色的删掉以后,你内能填出来啊,这个我就不具体去描述刚才咱们说的这样一个结论了,那咱们下面呢,重点的来说明一下,它俩有什么区别,它俩呢有什么区别?好。这呢,我们来区分一下。这个叫逻辑与。哎,这个呢是我们叫转入语啊,或者呢,你叫单语和双语也行,嗯,那这样的话呢,咱们得给一个情境了啊,通过这个情境呢,咱们来去说明,我这呢直接来写代码,这个呢叫BE1,它呢是一个触我in一个NUMBER1,这是一个十,呃,咱们这块呢,我先暂时的用一下这个in啊方便呢咱们看一下这个效果。
03:11
嗯,这写个B,先用个单语。NUMBER1呢,加加,然后大于零,这样。哎,这呢,我们写一个输出语句,这呢说这个,嗯,我现在在北京啊,然后来一个else。哎,我现在在啊,比如南京,对咱们国家像北京南京是不是也有个西京啊。西京好像也也也是中国好像有个地名叫西京是吧,当然呢,还有个地名叫东京,按说东京应该也是中国的是吧,这样就凑全了,就好来这个看一下啊,这呢是我们写的这个叫单独的一个语了,然后我再重复的把它的CTRLCL一下。
04:20
然后把这改成一个B2啊,NUMBER2。行改完了,改完以后的话呢,我把这个符号呢,我改成一个它啊。改成这个叫双语了。哎,就是他俩这个代码的区别呢,唯一的区别就是我们这个位置的区别。这是两套测试啊,那完了以后呢,我们在这呢,我也去打印一下。答一下呢,我们这个NUMBER1的值。哎,下边呢,我们打一下NUMBER2的是。
05:00
OK,现在呢,咱们做一个测试。现在啊,知道va c。Logic test检查给你通过logic test好看结果说我现在在北京,我现在在北京NUMBER1NUMBER2,哎都一样。那说明这块呢,没有什么区别啊啊,这种情况下呢,没什么区别,好下边呢,我变一下这个时候的B1呢,我们改成false啊。这个B2呢,也改成false,让他俩的这个所有的呃,区别就只集中在这个符号这块啊,其他的位置呢,全都一样,都改成false了,接着呢,我们再来测。编译通过运行看有区别了,嗯,我现在在南京,我现在还在南京,这一样,然后这个NUMBER1和NUMBER2不一样,NUMBER1呢是11,说明呢进行过加加运算。
06:05
这个呢没有,呃,这个是十说明呢,是不是没有加加过。对哎,这就叫短路了,短路这个这个大家这个上这个应该是初中吧,初中不是学那个电路的时候,最简单的这块是一个电池是吧。哎,这个电池啊,这一个小电池是吧,然后这块呢,整一个开关,这块整一个灯泡,哎咔一合,然后就亮了,这最简单的一个电路了啊,然后短路呢,就是你这块要连一根线的话呢。这就叫短路了,你这一拉这个这个开关一合上肯定不亮,哎,你这个相当于是这块呢,它都都从这走了,然后这个呢就不亮了,相当于你又把这个灯泡呢给过掉了。这块呢叫短路,就相当于你把它给过掉了,哎,你可以形象点这样去理解啊,那为什么它俩有区别了呢?那肯定是归结于人家的这个设计了啊,那我们主要呢,通过刚才测试说结论。
07:07
它为什么会过掉啊,对,刚才咱们那会儿提到了,说这个鱼,不管你是单语也好,双语也好,只有我们前后都是处的时候呢,结果才是true,对,那我们现在这个B2,你发现它是不是已经是false了。他已经是false了,按说哈,右边是真和假,是不是不影响结果了,就像大家呢,比如说你去这个征婚一样,人家写着12345678,第一条说必须呢,现在是单身,一看不满足,你就别往下看了,是吧,你往下看了是不是也没用啊。啊对啊,就是这个呢,按说呢已经是false了,按说后边就不用执行了,但是呢,你会发现这个执行了,而这个没执行,这就是他俩的区别。啊,那如果说我们这个B1本身是处呢,或者B2也是处呢。
08:07
对对,你这个结果到底是true I false也依赖于后边了,所以说对于前面这个呢,如果是true,右边呢,他俩都得执行啊,前面如果是false了,哎,这个右边呢,它就不执行了,而它会执行。啊,那另外的话呢,就是不管他俩谁执行也好,不执行也好,这个整个整个我们是这个结果是出还是放弃,这个还是一样的,对吧,也就是说呢,呃,这个呢,他在北京,这个也肯定在北京,这是南京,这个肯定在南京。那这个肯定是一样的啊,所以这块呢,算是他俩的一个也算是个相同点啊,就是呢,你不管是用的这个叫单语还是双语,它的运算的结果都是相同的啊。诶,这个到数了啊,它与它的。嗯,运算结果相同,哎,这是一个相同点啊,那另外一个相同点就是。
09:08
嗯,当。这个符号左边是处还是false的时候啊,相同点处吧,嗯,当符号左边是处时,嗯,那么它们二者呢,都会执行符号右边的运算,嗯,然后呢,下边说这个不同点,哎,那就是当符号左边是false时,哎,我们这个单语它呢是继续执行符号右边的运算,哎,而我们这个双语它呢就不会。哎,或者叫不在啊。哎,不再执行符号,哎,右边的这个A运算了。
10:00
行,这常就说完了,说白了就是你这个不执行的就可以转入了,哎你就这样去理解就行啊好这样呢,要清楚以后呢,其实下边这个呢,关于这个哎,关于这个或啊它与它的区别呢,也可以触类旁通。区分行这个呢叫货啊。我是不是就是说只要满足一个就行,对啊,那行,那咱们这边呢,还是来哎快速的写一下这个逻辑啊,现在呢,我左边呢,先写成是一个false,然后型的一个NUMBER3,这还是十啊,还是写if b3,然后这用的是或NUMBER3加加大于零。嗯,然后还有一个括号啊,然后这样子好,这块呢,我们还是写啊CTRLC。C。
11:02
那这个我们还写这个南京啊,CTRLCV,然后输出一下我们这个NUMBER3。好,这个呢是我们是用的一个叫逻辑或现在呢,我把它那CTRLC复制一份,这个这个我改成四。哎,然后它俩的区别呢,就是这用的是短路火啊。行,那我们现在呢测试。编译运行好,还都是在北京,然后呢,它俩的值呢都是11,说明这时候呢,它俩都是一样的啊。因为咱们左边呢,目前是false,左边还是false,整个结论是出还是false,是不是还得看右边啊,哎,对啊,然后现在我们改一下啊,我改成B3等于除。MB4呢,等于除。
12:00
是不是就有区别了,哎,当左边是处的时候,对于这种短路的情况。反正你的结果是不是肯定是个出了。哎,所以它右边这个其实它就不看了,而它呢,还会继续算变译运行,那就是11和十。哎,好,这我们就能说清楚了啊,这个结论呢,我们也来看一下,首先跟上面其实类似啊,相同点。0.1就是二者的运算结果是这个结论啊,是相同的。哎,他们这个运算结果是相同的,这是第一个点啊,然后第二个相同点。二就是当。当什么时候?当符号左边是。False时,哎,我们说这个二者呢都会,哎执行这个对符号右边的运算,哎,那不同点。
13:15
哎,当符号左边哎是处时。哎,我们这个哎叫逻辑货啊,它呢叫继续执行符号,哎,右边的运算,哎,而我们的这个短路货或者叫双货啊,它呢不在。直行符号右边的计算。这个大家不要去死记硬背啊,去理解它。啊,理解以后呢,你用自己的语言呢,能够给它表达出来就行。好,这两个说完以后呢,呃,那我们还得要总结一句话啊,就是这两个你看运算结果都是一样的啊,这个没有什么区别,运算结果没什么区别了,那对于我们开发来讲,到底咱们选这种这种逻辑的呀,还是选这种短路的呀。
14:03
按说都无所谓,因为反正结果一样是吧,哎,但是呢,对我们都优先的用短路的,是不是它不在运算不就省事一点嘛,所以我们下边就是开发中啊,推荐使用。哎,这呢推荐使用的叫短路啊,短路语这个呢,推荐使用短路或。行啊,那这呢,我们就把这个结论呢,落脚点来落到这里头,大家呢,哎,自己写代码的时候呢,需要用到货的时候,你就用这个两个竖线,需要用到语就用两个语的,嗯,然后后边这个呃非的还有抑或的,根据实际的情景,需要用的就用。啊,这个呢,用的频率还是有一些的,这个呢基本上不用。啊,了解这个符号是什么作用就可以了啊。
我来说两句