5运算符&与&&,|与||的区别

 &和 | 既是逻辑运算符也是位运算符,而&&和||只是逻辑运算符。

         一.(1)当&与&&同为逻辑运算符时,它们都用于连接两个Boolean类型的表达式,当&和&&的两端表达式同时为真时,表达式的结果为真,只要有一端为假,那么表达式结果为假。从用法上来看,&和&&并没有什么区别,比如我们可以写两个表达式:

              3>5&3>2;       3>5&&3>2;

              两个运算符都可以这么用,但是不同的是,当在判断这个表达式的真或假的时候,两者的判断次数不同;

             当使用&运算符: 计算机在判断表达式的值的时候,先判断3>5 的值为假,然后再判断3>2的结果为真,于是最后的结果是 假&真 为假;

             但是当我们使用&&运算符的时候:计算机先判断3>5 的值为假,此时表达式的结果一定为假,所以计算机就不再往下判断了,判定表达式结果为假。

             逻辑运算符&与&&的区别是:

            & 无论左边结果是什么,右边还是继续运算;

            &&当左边为假,右边不再进行运算。

            但是两者的结果是一样的。

            (2)当|和||的两端表达式同时为假时,表达式的结果为假,只要有一端为真,那么表达式结果为真。

            所以同理,我们可以知道|与||的区别:

             | 无论左边结果是什么,右边还是继续运算;

            ||当左边为真,右边不再进行运算。

              但是两者的结果是一样的。

            所以&&和||是比较高效那么一点点。

        二.&和 | 做位运算符,做二进制位之间的与运算:

              比如 6&3=110&011=010=2

                       6|3=110|011=111=7
 

猜你喜欢

转载自blog.csdn.net/xiaoxiaoniaoQ/article/details/83149719
今日推荐