逻辑运算符

前面我说了三种运算符:算术、赋值、比较运算符。

这里的逻辑运算符算是一个比较重要的。

首先我们的逻辑运算符也有六种(莫名其妙又是六种...)

这些逻辑运算符可以用来连接多个表达式

这些表达式无非就是一些比较运算符

分别是:

&

只有两边的结果都为true时,最终的结果才是true,否则就是false

代码图: 

结果就是:

我们可以总结一下画出一个表格:

只不过我们的&比较低级,为什么这样说呢?

假如第一个表达式是false,是不是就可以判断这个最后的结果是false了

假如第一个false,&还是会将所有的表达式去执行

我们用代码来实验一下:

结果是:

我们可以看到val1的值变成了31,这就证明了后面的那个表达式也执行了

|

 只有两边的结果都为false时,最终的结果才是false,否则就是true

代码图: 

运行结果:

我们也可以画出一个表格来记忆:

只不过我们的|也比较低级,为什么这样说呢?

假如第一个表达式是true,是不是就可以判断这个最后的结果是true了

假如第一个true,|还是会将所有的表达式去执行

验证方法与上面一样:

 运行结果:

这里val1也变成了22,表示后面那个表达式也执行了

 &&

判断的结果和&一模一样,

表格和&的一样

&&比较智能:

就是&&遇到一个表达式如果是false的话,后面的表达式就不会去执行

代码实测:

运行结果:

这次val1的值还是50,这就充分的说明了后面的表达式没有运行

||

判断的结果和|一模一样,

表格和|的一样

||也比较智能:

就是||到一个表达式如果是true的话,后面的表达式就不会去执行

代码实测:

结果:

这次val1的值还是30,这就充分的说明了后面的表达式没有运行

^:

这个东西比较特殊,一般不会使用它

如果两个表达式的结果相同最终的结果就是false

表达式结果不同最终结果就是true

这个逻辑有点难理解。

我们还是看一下代码吧:

运行结果:

画个表格来表示一下:

这个就很好理解了

就是吧结果取反的意思。

上图:

结果:

最后:

&&和||又叫做“短路运算符”,因为他的特性

如:&&遇到一个false就会短路,后面的不去执行了

我们的这六个逻辑运算符不止可以连接两个表达式,

还可以连接多个表达式

这里只是为了简化连接的两个表达式

原文地址:https://www.cnblogs.com/menghujava/p/9644739.html