В общем, рекомендуется писать фигурные скобки, даже если при этом условии должно быть только одно выражение.
Логическое выражение для условия должно всегда находиться между круглыми скобками.
И следите, чтобы не поставить точку с запятой после логического выражения.
Выражение при этом условии – это пустое выражение, которое представлено точкой с запятой, и следующее выражение в фигурных скобках всегда будет выполняться независимо от значения логического выражения.
Таким образом, условное выражение позволяет нам выполнить выражение или блок выражений, в зависимости от значения логического выражения.
Это одна из структур, контролирующих поток выполнения программы.
Иногда мы сталкиваемся с альтернативой на своем пути.
В зависимости от некоторых условий мы идем так или иначе.
Как мы это выразим в Java?
Сейчас мы знаем, как выполнить выражение в зависимости от одного условия.
Если условие не выполняется, ничего не делается.
Теперь мы хотим выполнить альтернативное выражение в этом случае.
Здесь мы видим простой пример.
x присваивается минус n, если n отрицательно.
Если это не так, x присваивается n.
Таким образом, существует два альтернативных блока выражений.
Тот, который выполняется, если условие истинно.
И тот, который выполняется, если условие ложно.
Этот блок записывается после ключевого слова else.
Конечно, в каждой из двух альтернатив, у нас может быть блок выражений вместо одного выражения.
Что теперь, если мы хотим разделить не только два случая, но и больше, например, три случая.
Поскольку условное утверждение является выражением, мы можем поместить его в любую из ветвей.
Например, давайте напишем условное выражение внутри другой ветви.
Новое условие проверяет, равно ли n 0.
Если это так, мы что-то делаем.
Иначе мы делаем что-то еще.
В целом, теперь у нас есть три случая, из которых только один выполняется.
Здесь показан пример с 4 случаями.
Выражение switch
Для исследования проблемы else, давайте взглянем на эти два блока кода.
Единственное различие между двумя блоками является идентификация принадлежности else.
И здесь могут быть два вопроса.
Первый, к какому выражению if выражение else принадлежит?
Второй вопрос, это то, каким будет значение после оценки if выражения?
Идентификация фактически не влияет на то, как компилятор будет интерпретировать блоки кодов.
В Java, else выражение соотносится с ближайшим возможным if выражением.
В этом случае, это проверка значения b.
Таким образом, здесь блок кода слева такой же, как код блока справа, с парой вставленных фигурных скобок.
Результат оценки блока кода приведет к установке значения a = 30 в конце выполнения.
Мы можем также использовать комбинацию if-else if.
Пример здесь показывает, как эта комбинация может быть использована для определения уровня знаний в зависимости от оценки.
Обратите внимание, что это будет иметь большое значение, если ключевое слово else остается перед if.
Сравните со случаем, когда else убрано.
В этом случае поток выполнения прерываться не будет.
В то время как if выражение позволяет выбрать из двух возможных путей, switch выражение позволяет более двух путей выполнения.
Вот диаграмма для иллюстрации потока управления switch выражения.
И вот синтаксис switch выражения.
Синтаксис switch выражения начинается с ключевого слова switch.
Выражение switch может иметь тип char, byte, short или int, и String.
Значения case value1, value2 и т.д., должны быть того же типа, что и выражение switch.
Ключевое слово break используется для выполнения switch выражения.
Важно помнить, что без break, поток будет продолжать двигаться к следующему case, пока break не будет найден.