【问题标题】:Double not in if condition - best practice?Double not in if 条件 - 最佳实践?
【发布时间】:2020-03-20 17:52:31
【问题描述】:

我还是个新手,因此我们将不胜感激您的智慧和建议。

我遇到了一个棘手的 if 条件,我不确定我这样做是否正确。

if(!conditionOne && conditionTwo){
  //do nothing
} else {
  //do something
}

我讨厌 if 有一个空的代码块,但我不确定有更好的方法来做到这一点。这似乎是最少的代码量,而没有像

这样的东西让它变得不那么简单
if(!(!conditionOne && conditionTwo)){  

这对我来说看起来很奇怪,但也许这更好?

或者

if((!conditionOne && !conditionTwo) || (conditionOne && conditionTwo) || (conditionOne && !conditionTwo){

这对我来说似乎更复杂。

conditionOne      conditionTwo          Outcome
False              True                  Do nothing
False              False                 Do something
True               True                  Do something
True               False                 Do something

实现这一点的最佳方法是什么?

【问题讨论】:

  • !(a && b) !a || !b

标签: java if-statement logical-operators


【解决方案1】:

De-Morgan's law,您正在寻找

if(conditionOne || !conditionTwo) {
    //do something
}

【讨论】:

    【解决方案2】:

    您应该查看De Morgan's Laws。它涵盖了一些重要的概念。例如:

    !(a && b) 等价于(!a || !b)

    类似

    !(a || b) 等价于(!a && !b)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 2021-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多