前面我说了三种运算符:算术、赋值、比较运算符。
这里的逻辑运算符算是一个比较重要的。
首先我们的逻辑运算符也有六种(莫名其妙又是六种...)
这些逻辑运算符可以用来连接多个表达式
这些表达式无非就是一些比较运算符
分别是:
&:
只有两边的结果都为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就会短路,后面的不去执行了
我们的这六个逻辑运算符不止可以连接两个表达式,
还可以连接多个表达式
这里只是为了简化连接的两个表达式