Подтвердить что ты не робот

Разница между If и Else If?

Мне было интересно, почему вы используете оператор else if, а не несколько операторов if? Например, какая разница между этим:

if(i == 0) ...
else if(i == 1) ...
else if(i == 2) ...

И это:

if(i == 0) ...
if(i == 1) ...
if(i == 2) ...

Они, похоже, делают то же самое.

4b9b3361

Ответ 1

if(i == 0) ... //if i = 0 this will work and skip following statement
else if(i == 1) ...//if i not equal to 0 and if i = 1 this will work and skip following statement
else if(i == 2) ...// if i not equal to 0 or 1 and if i = 2 the statement will execute


if(i == 0) ...//if i = 0 this will work and check the following conditions also
if(i == 1) ...//regardless of the i == 0 check, this if condition is checked
if(i == 2) ...//regardless of the i == 0 and i == 1 check, this if condition is checked

Ответ 2

Разница в том, что если первая if истинна, все остальные if не будут выполняться, даже если они будут оценивать значение true. Если они были индивидуальными if s, однако, все if будут выполняться, если они будут оцениваться как true.

Ответ 3

Если вы использовали несколько операторов if, тогда, если условие true, все будет выполнено. Если вы использовали комбинацию if и else if, то будет выполняться только один, где сначала будет истинное значение

// if condition true then all will be executed
if(condition) {
    System.out.println("First if executed");
}

if(condition) {
    System.out.println("Second if executed");
}

if(condition) {
    System.out.println("Third if executed");
}


// only one will be executed 

if(condition) {
   System.out.println("First if else executed");
}

else if(condition) {
   System.out.println("Second if else executed");
}

else if(condition) {
  System.out.println("Third if else executed");
}

Ответ 4

Операторы

if проверяют наличие всех доступных if. в то время как else if проверяет, не выполняются ли операторы if, оператор if возвращает true, он не будет проверять else if.

так что это зависит от сценария, как ваше требование.

Ответ 5

В первом случае: после успешного выполнения else if (или первого if) ни одна из оставшихся else ifs или elses. Однако во втором случае каждый , если будет проверен, даже если все из них (или один из них) будет успешным.

Ответ 6

Первый пример не обязательно будет запускать 3 теста, в которых второй пример не даст никаких возвратов или gotos.

Ответ 7

В первом случае, как только условие if или else if станет истинным, все "else if" будут пропущены/не отмечены.

Во втором случае, даже если значение я равно 0, проверяются все следующие условия.

Итак, вы можете сделать вывод, что если вы тестируете одну и ту же переменную, которая не может иметь несколько значений в данный момент времени, лучшим вариантом является использование первого подхода, поскольку он будет оптимальным.

Ответ 8

Нет, они разные. выполнение будет проверяться в каждом случае. то есть.

if(true)
 executes
if(true)
  executes // no matter how many ifs you have

тогда как if и else if

if(true)
 executes
else if(true)
 // system doesn't checks for this once if gets true

Короче говоря, только один из них, если лестница будет выполнена.

Ответ 9

Посмотрите, если вы хотите проверить все условия как одно, два, три... вы выбираете второй вариант, но во многих случаях вы проверяете только одно условие, поэтому вы предотвращаете выполнение других условий, при этом в конкретном случае вам нужно выбрать свой первый выбор