Управляющие инструкции устанавливают порядок выполнения программы в зависимости от некого условия. Применяя управляющие инструкции, можно создавать точки ветвления, останова, многократно выполнять блоки операторов или всю программу.
Условный оператор if в языке Java имеет следующий вид:
if (условие) {
// Блок команд, если условие истинное
}
else {
// Блок команд, если условие ложное
}
// Продолжение программы
При выполнении оператора проверяется истинность условия в круглых скобках. Если условное выражение возвращает значение true, то выполняется первый блок команд в фигурных скобках, следующий за ключевым словом if, а блок после ключевого слова else игнорируется.
Если условное выражение возвращает значение false, то первый блок команд игнорируется, и выполняется блок команд после ключевого слова else.
Пример условного оператора:
if (a+b> 100) {
a = 0;
b = 0;
}
else {
a = a +5;
b = b +2;
}
Допускается упрощенная запись оператора, в которой отсутствует блок else. В таком случае, если условие ложное, то никакие специальные действия не выполняются. Пример упрощенной записи:
if (a + b> 100) {
a = 0;
b = 0;
} // Конец условного оператора
// Следующие команды программы
4.1.1 Вложенные условные операторы
Условный оператор может располагаться внутри другого условного оператора. Такая конструкция называется вложенными условными операторами. Количество вложенных операторов формально не ограничено, но в шаблоне для наглядности покажем только два вложенных условных оператора:
if (условие 1) {
// Блок команд 1
}
else if (условие 2) {
// Блок команд 2
}
else if (условие 3) {
// Блок команд 3
}
else {
// Блок команд 4
}
Если условие 1 истинное, то выполняется блок команд 1, остальные блоки игнорируются и продолжается выполнение команд после конструкции. Если условие 1 ложное, то проверяется условие 2. Если условие 2 истинное, то выполняется блок команд 2, и так далее. Последний блок команд выполняется только в том случае, если все предшествующие условия оказались ложными.
4.2 Оператор выбора switch
Логика работы оператора switch напоминает конструкцию из вложенных операторов if, которую мы только что рассмотрели. Принципиальное различие состоит в том, что проверяемое выражение может возвращать только целочисленное или символьное значение, а не логические значения true или false. В общем виде шаблон оператора switch выглядит следующим образом: