go2goj Asked:2020-05-05 02:31:08 +0000 UTC2020-05-05 02:31:08 +0000 UTC 2020-05-05 02:31:08 +0000 UTC 在 &, | 对于布尔值,它们不再是按位的吗? 772 也就是说,他们使用与 &&、|| 相同的技术进行比较,只有细微的变化(左右都检查)? 5>1 & 6>3; //真的 java 1 个回答 Voted Best Answer extrn 2020-05-05T04:08:07Z2020-05-05T04:08:07Z 确实,操作&和|适用于布尔值,但它们与逻辑对应物有轻微但显着的差异:short-circuit_evaluations在这种情况下不起作用。 在 s.length() > 0 && s.charAt(0) == 'x' 或者 s.length() == 0 || s.charAt(0) != 'x' 如果左侧已经足够得到结果,则表达式的右侧将不会被计算。 如果我们将运算符分别替换为&and |,则表达式将被完整地计算,在这种情况下,如果字符串为空,则会导致错误。 另外,运算符的优先级也不同:true | true && false会给false.
确实,操作
&和|适用于布尔值,但它们与逻辑对应物有轻微但显着的差异:short-circuit_evaluations在这种情况下不起作用。在
或者
如果左侧已经足够得到结果,则表达式的右侧将不会被计算。
如果我们将运算符分别替换为
&and|,则表达式将被完整地计算,在这种情况下,如果字符串为空,则会导致错误。另外,运算符的优先级也不同:
true | true && false会给false.