位运算符:
将数据先转化为二进制数补码,再逐位按规则运算。
按位与 & 运算规则:全1则1,否则为0
按位或 | 运算规则:全0则0,否则为1
逻辑运算符:
逻辑与 && 运算规则:全真为真,否则为假
逻辑与 || 运算规则:全假为假,否则为真
区别:
1、逻辑运算符只能针对boolean类型进行逻辑运算,而位运算符还可以对数值进行逻辑运算。
2、逻辑运算符有短路情况,即前面表达式可以得到最终结果时,后面的表达式将不被执行。
用代码解释短路现象:
&&,||与&,|区别
在if( (x=0)==0 || (y=0)==0 )语句中,逻辑或运算符前面已经为真,因此后面(y=0)==0的代码不再执行,所以输出y为10.

相关文章: