逻辑运算符:
&:逻辑与 (有false则整个表达式的结果为false,只有当各个表达式的结果都为true的时候,整体才为true)
漂亮并且身材好
|:逻辑或 (有true则整体表达式的结果为true)
漂亮或者身材好
!:逻辑非 (以前是false,现在就是true。以前是true,现在就是false)
只要是女的就行 !男
^:逻辑异或(相同为false,不同为true)
false^false //结果是false
true^true //结果是false
最后发现你也找不到,就找了个男的。
&&和&的区别是什么?
&&:短路与。当左边的表达式的结果为false的时候,右边的表达式不执行。
&:逻辑与。无论左边表达式的结果是false还是true,右边的表达式都会执行。
但是,不管用&&或者&,最后计算出来的整体表达式的结果都是一样的。
//++x && ++y
||和|的区别:
||:短路或,当左边表达式的结果是true的时候,右边不执行。
|:逻辑或。无论左边的结果是true还是false,右边都执行。
但是,不管用||或者|,最后计算出来的整体表达式的结果都是一样的。
开发中:
我们常用的是: &&,||,!
位运算符:(功能跟逻辑运算符类似,把0看做false,1看做是true)
位运算符:计算的数据的补码形式。
&:按位与 有0则0.
|:按位或 有1则1. 6&2
^:按位异或 相同为0,不同为1
一个数据被同一个数据位移或两次,结果不变。(10^5^5)
~:按位取反 1变0,0变1
<<:左移 相当于该数据乘以2的几次幂 右边空缺位用0补齐。
>>: 右移 相当于该数据乘以2的几次幂 最高位是0,空缺位用0补齐。如果最高位是1,空缺位用1补齐。
>>>:无符号右移 不管最高位是0还是1,空缺位都用0补齐。 |
|