几个if if else条件

时间:2013-01-08 03:35:41

标签: java

我有一个java类,里面有一个方法,需要根据现在遇到的条件返回一些整数值,我在类的方法中放了一些if...else条件,如下所示,并在评论中写了何时执行此条件。

请告知方法def() if条件中的逻辑是否正确,如果执行了任何条件,请告知我是否检查剩余条件。

class abc
{
  private static SUCCESS = 1;
  private static FAILURE = 2;

  public void int def()
  {
    if (a=20 && b==30)
    {
        if (c==30 && d==40)  // nesting IF condition will go if a=20 & b=30
        { // do something
          return SUCCESS; // IF this condion is met will it check remaing conditions or not
        }
        else
        {
          return FAILURE; // IF this condion is met will it check remaing conditions or not
        }
    }
    else if( g==50 && d==60)
    {
      // do something
      if (t==56 && p==98) // nesting IF condition will go if g=50 & d=60
      {
        // do something
        return SUCCESS; // IF this condion is met will it check remaing conditions or not
      }
      return FAILURE; // IF this condion is met will it check remaing conditions or not
    }
    else
      return FAILURE; // default return means if any othe if or else if block is satisfied then this default value will be returned from the method
  }
}

3 个答案:

答案 0 :(得分:0)

那应该是相同的

if ((a==20 && b==30 && c==30 && d==40) || (g==50 && d==60 && t==56 && p==98))
    return  SUCCESS; 
else
    return  FAILURE;

答案 1 :(得分:0)

如果你错过了相同的

,那么第一个
if (a==0 && b==30)

在两个if中你可以删除else字(和括号)只是为了避免一些没有必要的行。

答案 2 :(得分:0)

您的逻辑是否正确尚不清楚,因为您尚未提供有关其如何工作的规范。

但是,您可能至少遇到一个问题:

if (a=20 && b==30)

因为=几乎肯定是==

此外,如果您摆脱产生以下因素的心态,您会发现您的代码更容易理解:

if (something)
    return something;
else
    do_something_else;

如果将其更改为以下内容,可读性会大大增加:

if (something)
    return something;
do_something_else;

尤其是当你有多个像你一样的层时。

关于你的意见:

  

如果满足此条件,它是否会检查剩余条件。

答案是否定的。从函数中return的那一刻,该函数中不再执行任何代码。