我想检查 a
是否等于某个值, b
等于另一个,反之亦然
例如
(a == 3 && b == 5) || (a == 5 && b == 3)
我知道如果是boolean
个变量,我可以对它们进行异或。检查两个值时如何实现相同的功能?
答案 0 :(得分:2)
您的代码没有任何问题,没有更简单的方法。但是,您可以省略括号,因为&&
绑定比||
更强。请参阅Java operator order。
答案 1 :(得分:0)
考虑这两个方程:
a + b = 8 a * b = 15
如果你解决了这个方程式,
事实证明,满足这两个方程的唯一值对是(3, 5)
和(5, 3)
。
您可以使用它来用算术重写复杂的布尔值:
(a + b == 8 && a * b == 15)
因此,而不是7个布尔条件, 现在你有3个布尔条件+ 1个加法+ 1个乘法。 它写得更短,但它太聪明了。 最好保留原文。