Java 如何更好地实现此逻辑

Java 如何更好地实现此逻辑,java,if-statement,conditional-statements,Java,If Statement,Conditional Statements,我正在尝试实现这个逻辑,我只是想知道是否有更好的方法 if(condition1) { do1(); } else if(condition2) {//especially here that I have to check condition3 here and also in the last else if do2(); if(condition3) { do3(); } } else if(condition3) { do3();

我正在尝试实现这个逻辑,我只是想知道是否有更好的方法

if(condition1) {
    do1();
}
else if(condition2) {//especially here that I have to check condition3 here and also in the last else if
    do2();
    if(condition3) {
        do3();
    }
}
else if(condition3) {
    do3();
}
试试这个

if(condition1) 
{
   do1();
}
else
{
   if(condition2) 
   {
      do2();
   }
   if(condition3) 
   {
     do3();
   }
}
试试这个

if(condition1) 
{
   do1();
}
else
{
   if(condition2) 
   {
      do2();
   }
   if(condition3) 
   {
     do3();
   }
}

按照你的逻辑,我看不出你能做出什么改进。也许另一种更清晰的编写方法是将
condition2
condition3
放在相同的
else
块中,因为
condition2
condition3
并不像
condition1
那样相互排斥:

if(condition1) {
    do1();
}
else {
    if(condition2) {
        do2();
    }
    if(condition3) {
        do3();
    }
}

按照你的逻辑,我看不出你能做出什么改进。也许另一种更清晰的编写方法是将
condition2
condition3
放在相同的
else
块中,因为
condition2
condition3
并不像
condition1
那样相互排斥:

if(condition1) {
    do1();
}
else {
    if(condition2) {
        do2();
    }
    if(condition3) {
        do3();
    }
}

当涉及到逻辑比较时,通常应用的最佳规则是使代码尽可能具有关于条件的可读性。不要试图太聪明,让未来的读者怀疑代码试图实现什么

编写代码,使其易于理解,而不是最短的比较。


根据您的情况,您编写的解决方案可能是最容易理解的。如果是,您应该保持原样,而不是让它变得更复杂。

当涉及到逻辑比较时,通常应用的最佳规则是使代码尽可能具有与条件相关的可读性。不要试图太聪明,让未来的读者怀疑代码试图实现什么

编写代码,使其易于理解,而不是最短的比较。


根据您的情况,您编写的解决方案可能是最容易理解的。如果是,,你应该保持原样,不要让它变得更复杂。

条件2和条件3是相互排斥的吗?@Bathsheba不,它们可以同时出现。你能在那里发布一些实际情况吗?在什么意义上更好?条件2和条件3是相互排斥的吗?@Bathsheba不,它们可以同时出现,你能发布一些吗实际情况。在什么意义上更好?