Об утверждении if в Java lang - PullRequest
       1

Об утверждении if в Java lang

1 голос
/ 30 апреля 2011

Я хочу спросить, могу ли я вставить оператор if в оператор if у меня есть такой код:

       if(some codes && some codes || (if(some codes) && some codes))
    //then something else..

возможно ли это. Я пробовал это, но выдает ошибку. Может быть, это синтаксическая ошибка, возможно, это невозможно, если вы ответите, я узнаю:)

Ответы [ 3 ]

2 голосов
/ 30 апреля 2011

Это синтаксическая ошибка.

Если у вас есть несколько условий, которые вы хотите проверить, например a, b, c и d, то объедините их с логическими операторамидостаточно одного оператора if, например:

if (a && b || (c && d))
{
    ...
}
0 голосов
/ 01 мая 2011

Если вы хотите условное значение, вы можете использовать нотацию ?: в логическом контексте следующим образом

if(cond1 && cond2 || cond3 ? cond4 : cond5){...}

, что означает, что если cond3 == true оценивается как if(cond1&&cond2||cond4), иначе if(cond1&&cond2||cond5)

пример

int a=1;
int b=2;
int c=3;
int d=4;
if(a!=b && b!=c || a+b==c ? a+c==d : b+c==d){
    System.out.println("yup");
}else{
    System.out.println("nope");
}
0 голосов
/ 30 апреля 2011

В зависимости от того, что вы подразумеваете под

некоторые коды а также тогда что-то еще

вы могли бы хорошо с if... else if

if(some codes && some codes )
  //  ...
else if((some codes) && some codes)
 // ...

Если «некоторые коды» означают, что вы используете тело if для выполнения операторов, я бы предложил рефакторинг, чтобы сделать код более читабельным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...