Размер шрифта
-
+

Java за неделю. Вводный курс - стр. 20

Пример условного оператора:

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 выглядит следующим образом:

switch (выражение) {

case значение_1:

// Блок команд 1

break;

case значение_2:

// Блок команд 2

break;

case значение_3:

// Блок команд 3

break;

// другие case—блоки

case значение_n:

// Блок команд n

break;

default:

// Блок команд по умолчанию

}

При выполнении оператора switch вычисляется значение выражения в круглых скобках. Затем это значение поочередно, сверху вниз, сравнивается со значениями, указанными в начале каждого case—блока. Как только обнаружено совпадение, выполняется набор команд соответствующего блока.

Коварство оператора switch заключается в том, что при обнаружении совпадения выполняются все команды до конца оператора, включая команды в case—блоках, расположенных ниже. Если необходимо, чтобы выполнялись команды только одного блока, его необходимо завершать инструкцией break.

Оператор завершается необязательным блоком default. Команды этого блока выполняются в том случае, если не обнаружено ни одного совпадения с контрольными значениями. Поскольку блок default завершает конструкцию, в нем не используется инструкция break.

Страница 20