我怎样才能更好地实现这个逻辑

时间:2013-09-23 09:15:47

标签: 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();
}

4 个答案:

答案 0 :(得分:5)

试试这个

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

答案 1 :(得分:2)

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

答案 2 :(得分:2)

当涉及逻辑比较时,通常应用的最佳规则是使代码在条件方面最可读。不要试图过于聪明,让未来的读者想知道代码试图实现的目标。

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

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

答案 3 :(得分:1)

在你的逻辑中,我看不出你如何能够改进。也许另一种更清晰的方式是将condition2condition3放在同一else块中,因为condition2condition3并不相互排斥就像他们与condition1一样:

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