如果情况不加倍-最佳做法?

时间:2020-03-20 17:52:31

标签: java if-statement logical-operators

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

如果情况不好,我会很棘手,而且不确定执行正确的方法。

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

实现此目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

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

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

类似

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

相关问题