Когда вы пишете несколько операторов if, возможно, что более чем один из них будет оценен как истина, поскольку операторы не зависят друг от друга.
Когда вы пишете один оператор if else-if else-if ... else, только одно условие может быть оценено как истинное (как только найдено первое условие, которое оценивается как истинное, следующие условия else-if пропускаются).
Вы можете сделать так, чтобы несколько операторов if вели себя как один оператор if else-if .. else, если каждый из блоков условий выходит за пределы блока, содержащего операторы if (например, путем возврата из метода или выхода из цикла).
Например :
public void foo (int x)
{
if (x>7) {
...
return;
}
if (x>5) {
...
return;
}
}
Будет иметь такое же поведение, как:
public void foo (int x)
{
if (x>7) {
...
}
else if (x>5) {
...
}
}
Но без операторов return он будет вести себя иначе, когда x›5 и x›7 оба верны.
person
Eran
schedule
29.04.2015