
“嗨,阿米戈!”
“再上一节关于按位运算符的小课。”
“你知道,除了逻辑运算符AND(&&)、OR(||)和NOT(!)之外,还有按位运算符AND(&)、OR(|)、NOT(~)、XOR(^ ), 正确的?”
“是的。Bilaabo 曾经就此给过很好的教训。”
“嗯,关于这些操作员。我有两件事要告诉你:”
“首先,除了 NOT (~),它们可以应用于布尔变量,就像逻辑运算符一样。”
“其次,惰性评价不适用于他们。”
“看这个例子:”
代码 | 等效代码 |
---|---|
|
|
“左边比右边紧凑吗?”
“是的。”
“它的意思是一样的吗?”
“是的。”
“非常正确。但现在使用按位运算符查看相同的表达式:”
代码 | 等效代码 |
---|---|
|
|
“换句话说,代码是一样的,但绝对会执行每一个操作。”
“注意,如果a为null,计算c2时会抛出异常!”
“啊,我现在看得更清楚了。”
GO TO FULL VERSION