3.1逻辑运算符的基本用法
A:逻辑运算符有哪些
&(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)
注意:
a:逻辑运算符一般用于连接boolean类型的表达式或者值。
在Java中我们要表示一个数大于3并且小于6 ,不可以写成3<x<6,应该写成 x>3 & x<6 。
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
关系表达式:a == b
B.结论:
&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。
举例:情侣关系。男男,男女,女男,女女
!逻辑非:非false则true,非true则false。
特点:偶数个不改变本身。
3.2逻辑运算符&&和&的区别
A: &&和&的区别?
在最终运算结果上没有区别,只是在运算效率上有区别。&两端的表达式一定都会执行;&& 当左端为false时 右端就不执行,只有左端为true 右端还是得要去执行。
B:同理||和|的区别?
在最终运算结果上没有区别,只是在运算效率上有区别。 | 他的两端都需执行;|| 只要左端为true了,右端的表达式,就不执行,只有左端为false时 右端还得去执行。
3.3位运算符的用法1
A:位运算符有哪些
&(与),|(或),^(异或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(无符号右移)
注意:位运算是直接对二进制补码进行运算。
B: 结论:
&:有0则0
|:有1则1
^:相同则0,不同则1
~:按位取反 0变1 1变0
3.4位异或运算符的特点
A:
位异或运算符的特点
^的特点:一个数据被另一个数据位异或两次,该数本身不变。
自己位异或自己是0 8^8 结果是0
3.5位运算符的基本用法2
A:
<<:左移 空位补0,被移除的高位丢弃。
>>:右移 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,高位补1。
>>>:无符号右移 被移位二进制最高位无论是0或者是1,空缺位都用0补。
B:结论:
<< : 把<<左边的数据乘以2的移动次幂 例如 10<<3 结果 10*2^3=80
>> : 把>>左边的数据除以2的移动次幂 例如 40>>3 结果 40/2^3=5