【发布时间】:2014-12-31 04:14:17
【问题描述】:
我有 三个 if 语句:
if (!(a == 0 && b == 0)) {...}
if (!(a == 0 && b != 0)) {...}
if (!(a != 0 && b != 0)) {...}
我想将它们组合在一个代码块中,例如方法。
如果一个语句已经运行,我不希望其他语句运行。如果我想避免提出一些好的逻辑,有一些解决方法,但我想知道是否有一种很好的方法来编写它。
【问题讨论】:
-
它是一种类型。 jsut
b就可以了 -
如果满足
if中的任何一个,是否会执行相同的逻辑? -
那么,使用
||来参与您所有ifs 的评估。除此之外,我不会说这是复杂的if-else逻辑。 -
我首先想到的是使用德摩根定律。而不是
if (!(a == 0 && b == 0)),写if (a != 0 || b != 0)。这将使发生的事情更清楚,特别是如果你写错了......这将是正确的,除非a和b都是 0。 -
如果
{...}中执行的逻辑相同,那么测试完全是多余的,因为如果 a == 0 或 b == 0 或 a != 0 或 b != 将执行代码0
标签: java logic logical-operators control-flow