一. 异或逻辑运算符
符号是^。运算特点是:前后两个逻辑结果相反时,输出为真;相同时为假。
为什么会有这些逻辑运算符,什么异或,非运算符的存在,我猜测这些都是从日常实际应用中精炼,抽象出来的,目前可能还不是很清楚为什么要学习这个。
二. 非运算符
符号是!。这个运算符连接地是一个表达式,诸如!true=false。
逻辑运算符连接的都逻辑是表达式,不可能直接连接true或false,这样没什么用。
三. 双与和双或运算符(这是对与,或的发展衍生)
双与运算符&&,另一个名字叫做短路。&&和&的联系比较紧密,在对两个连接的表达式的最终结果输出上,这两个运算符得出的结果是完全一样的。区别就在于,&&的计算过程会比&稍微简化一点,当左侧的逻辑值为false时,&&直接就停止运算了,这就提高了效率,也和物理中的短路有些相似。
&:无论左边的运算结果是什么,右边都会参与运算。&&:当左边运算结果为false时,右边不参与运算。
这里还要说明一点的是,&不光是用于与逻辑运算,还有其他的运算?
由&和&&引申到,|和 ||的关系。我们先来看一下,|的运算特点:true|true=true, true|false=true, false|true=true, false|false=false。观看这个特征,貌似||是这么个作用:一旦左边为true,那么右边就不再进行计算。
左侧表达式的结果即可决定最终的结果,采用&&和||将会节约过程。前者是false就能终结运算,后者是true就能终结运算。
双符号原来是为了提高效率,后面涉及到的例子好像不止提高效率的功能。