Как работает оператор условия (if-else) и где он применяется?

Как работает оператор условия (if-else) и где он применяется?

Оператор условного перехода if-else if- else является одним из операторов, с помощью которого осуществляется управление потоком выполнения программы. С помощью него есть возможность программировать разные пути выполнения программы в зависимости от каких-либо условий.

Синтаксис оператора if в Java имеет несколько форм и выглядит следующим образом:

if (условие)
    действие_в_случае_истинности_условия;
if (условие)
    действие_в_случае_истинности_условия;
else
    действие_в_случае_ложности_условия;
if (условие1)
    действие_в_случае_истинности_условия_1;
else if(условие2)
    действие_в_случае_истинности_условия_2;
...
else if(условиеN)
    действие_в_случае_истинности_условия_N;
else
    действие_в_случае_ложности_всех_условий;

Здесь:

  • условие — выражение, результатом вычисления которого должно быть булево значение true/false;
  • действие_в_случае_истинности_условия — одно или более действий, которые необходимо выполнить, в случае, если условие окажется истинным (то есть true);
  • действие_в_случае_ложности_условия — одно или более действий, которые необходимо выполнить, в случае, если условие окажется ложным (то есть false).

Исходя из последней формы, можно сделать вывод, что с помощью конструкции else if можно проверять большое число условий. Иногда это выглядит нечитаемо и есть смысл использовать другой оператор — switch-case.

Пример кода, с использованием условного оператора if-else:

Object response = contextAsMap.get(ProcessVarsName.INIT_CONTEXT);
if (response != null) {
    RegistrationEvent registrationEvent = mapper.convertValue(response, RegistrationEvent.class);
    isStatusCreated = registrationEvent.getStatus() != null;
} else if (contextAsMap.containsKey(ProcessVarsName.ENTITY)) {
    response = contextAsMap.get(ProcessVarsName.ENTITY);
    StateResult stateResult = mapper.convertValue(response, StateResult.class);
    isStatusCreated = stateResult.getStatus() != null;
} else {
    throw new RuntimeException("No result variable found");
}
Back To Top