一.逻辑运算符
1.基本的逻辑运算符
逻辑单与: &——并列关系:满足全部条件有false,则false
逻辑单或: |——或的关系: 满足一个条件即可有true,则true
逻辑异或: ^——相同则为false,不同则为true
逻辑非: !——非true,则false;非false则true【偶数个非是他本身】
2.扩展的逻辑运算符
逻辑双与&&
逻辑双或:||
***********************************************面试题********************************************************
逻辑单与&和逻辑双与&&有什么区别?
答:共同点: 都是能够表述"并列"关系
不同点:逻辑单与&:无论左边的表达式是true还是false,右边都要执行
逻辑双与&&:具有短路效果,左边的表达式如果是false,则右边就不执行了
**************************************************************************************************************
【逻辑双||: 左边的表达式如果是true,则右边不执行了】
二.位运算符
1.基本的位运算符号:
位与: &
位或: |
位异或: ^(位异或的特点:一个数据被另一个数据位异或两次,其值是他本身)
~: 反码
2.其他的运算符号:位移符号:
<<:左移动(将数据的补码进行左移动,右边不够的补0;将最高符位丢弃掉)
>>:右移动(将数据的补码进行右移动;如果最高符号位为1,则左边补1;最高符号位为0,则左边0)
>>>:无符号右移(无论最高符号位是1还是0,左边始终补0)
【左移的特点:将左边的数据乘以2的移动次幂】
【右移的特点:将左边的数据除以2的移动次幂】
***************************************************面试题****************************************************
请用有效的数据方式来表示2*4的结果
答:2<<2
**************************************************************************************************************
3.例题
a.位与&
b.位或|
c.位异或
d.反码