JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

《极简Java新手编程之道》4.4 逻辑运算符

wys521 2024-11-04 15:39:22 精选教程 28 ℃ 0 评论

下面我们来看逻辑运算符。逻辑运算符就是进行逻辑运算的,主要有这么几个。

· 逻辑非,逻辑非就是真就变成假,假变成真。

· 还有这个,这是逻辑与,就一个条件都为真,结果才为真。

· 还有这个竖线叫做逻辑或,逻辑或只有一个条件为真,结果就为真。

逻辑与逻辑或很简单,只是有一个爱的符,一个竖线,这个叫逻辑与逻辑和。需要注意的是有的时候还会见到有两个竖线和两个爱的符的情况,这个叫做短路与短路货。从使用效果运算结果与它没有区别,逻辑与逻辑货短路与短路货从运算结果上没有区别。

输入的是什么?输出的结果是一样的,但是区别在于什么?性能上性能有区别。短路什么意思?就是超近道,就是说如果已经运算出这个结果,后面就没有必要运算了,所以成为短路与短路货。

具体看这个例子,比如说这xy,xy,知道全为真的情况下结果为真,相反如果其中一个结果为false了,比如说知道这x为false了,其实结果就已经确定下来了,没有必要再计算y了,就x为fort的情况下结果就已经为fort,这y是处和for都不会影响这个结果,说这种情况下就不会计算y,这样性能上是它的计算量就少了,性能上就有所提高。

因此短路语是这样。

· 再看短路或是类似的,等入货知道这x和y全为false情况下结果为false,如果x为处,x为处,其实结果就已经确定下来,结果就为处,那这个y是否为处,结果都不会有影响,这种情况下就不会计算y了,这就是短路的特点。

看这个例子,这个例子只是其中一部分,由于课件放不了太多代码,我只列了一部分,这是有两个变量a和b,一个是十二,一个十四,在这里进行判断a小于b,这是一个表达式,在这又使用两个竖线,我叫逻辑或进行运算。

逻辑或与谁进行运算?以mess,the mess 的一进行运算,mess一是我自定义的一个方法,在这里放不下,就没放,一会来看一看。

打印这个结果,这块又有一个a小于b,a小于b,然后黑色的例子主要演示什么?就是这个黑色的是否被调用,黑色的是否被调用,就说如果a小于b,a小于b,这结果是否成立?a为十四,b小于十六,结果是成立的是处。a小于b为处的情况下,这个结果其实就已经为处了。结果已经为处,后面 mess的方法就不会调用,因为结果已经确定了,结果已经出来了,所以 mess的一就没有调用。

后面会给大家看代码,mess的一做什么?其实就是打印句话出来,还有a小于b为处,a小于b为处的情况下,后边这个是一个竖线,一个竖线就是逻辑货,就是结果已经确定下来,a小于b为处,整个结果已经确定下来,但是仍然会调用message。

所以它俩的区别就在于什么?这是两个竖线,这是一个竖线,一个是短路货,一个是逻辑货。短路货不会调用method e,而逻辑货会调用method e。这是讲课件中在这里演示的是短路货和逻辑货,还有短路语。

逻辑语来看看语句代码,因为这里代码不全,只是其中一部分。看书中的配套代码,这个是四点四,这是全套的代码的。看看max的一方法是怎么回事?max一方法很简单,就是打印一句话,这里返回pose。

在这讲过a小于b使用的是短路货,短路货mess的一不会调用,运行一下看一看。message结果其实在这已经打印出来,运算结果为真。而且mac的一在这没有调用,属于在这打出来的,是后面打出来的。

在这儿,a小于b,这是逻辑货,逻辑货在这儿调用message,所以这句话打印出来是由在这儿调用message,然后打印出来的。这个是或运算,还有逻辑语,短路语,在这,这就是短路货,还有这是逻辑货。

先看一看a大于b是否成立,不成立,因为a是十二,b是十六,a大于b,a大于b不成立,为false,为false情况下结果就已经为false情况下了,结果为false情况下后面就不会调用,所以这个里面都不会走,所以结果是假,这是在这打印出来的。

当然这个结果,这个表达是运行结果,也是假,也是假,但是这个假会调用method e,逻辑语虽然计算出来结果为否死情况,但是仍然会调用后面的表达式,调用表达式,调用word的一,程序代码就会调用word的一,打印这句话出来,就说这不会走,但是这会走,word唯一,从这个例子可以看出来短路与短路货的使用的区别。有同学说运算效率上能有多大提高?客观来讲,小的案例来讲是根本看不出来有什么性能上的改变,即便是使用一些测试软件也很难测试出来。

但是从运算的算法上来讲,运算的路径来讲一定效率,短路的效率要高。如果累积起来,如果处理大量的数据进行大量的运算,这个是非常可观的。这就是介绍的逻辑运算。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表