Изучаем Java

Вы здесь: Главная >> Java-самоучитель >> Конструкции выбора в языке Java

Конструкции выбора в языке Java


Конструкции выбора

Конструкции выбора позволяют передавать выполнение программы разным блокам кода в зависимости от условия (если оно равно значению true, то данный блок выполняется, false — нет).

В языке Java имеются две конструкции выбора —switch и if...else.

Первая конструкция выбора, которую мы рассмотрим,— switch. Она позволяет выполнять какие-либо действия в зависимости от значения переменной.

Схема конструкции switch имеет следующий вид.

switch (переменная, у которой нужно проверить условие)
{
case Значение1;
операторы
case Значение2;
операторы
case ЗначениеN;
операторы
default;
операторы
}

 

В этой конструкции необходимо задать имя переменной, а после ключевого слова case указать ее возможное значение. Если переменная содержит это значение, то выполняются операторы, которые следуют после ключевого слова case с данным значением. Если же значение переменной в блоках case не равно ни одному из предложенных значений, то выполняются операторы после ключевого слова default.

В листинге 3.6 приведен пример использования конструкции switch.

Листинг 3.6.
Пример использования конструкции switch

 

Чтобы выйти из конструкции выбора, не выполняя все оставшиеся операторы от данного ключевого слова case до конца блока, следует использовать инструкцию break.

Если в конструкции case из листинга 3.6 убрать все операторы break, то, когда значение переменной i будет равно 1, будут выполняться абсолютно все операторы в блоке switch.

Если значение этой переменной будет равно 2, то тогда будут выполняться все операторы после ключевого слова case 2 до конца блока и т.д. Подробнее об этом см. ниже.

Есть еще конструкция if ...else. Схема двух возможных форм данной конструкции выбора следующая.

Первая форма:

if {условие) // Если условие = true, то:
операторы
else // Если условие = false, то:
операторы

 

Вторая форма:

if {условие!) // Если условие1 = true, то:
операторы
else if (условие2) // Если условие2 = true, то:
операторы

else if (условиеN) // Если yonoBneN = true, то:
операторы
else // Если все условия = false, то:
операторы

 

В листингах 3.7 и 3.8 приведен пример использования первой и второй формы соответственно.

Листинг 3.7.
Пример использования первой формы конструкции if...else

 

Листинг 3.8.
Пример использования второй формы конструкции if...else

Можно вкладывать конструкции if одна в другую. В листинге 3.9 представлен пример подобной программы.

Листинг 3.9.
Пример использования вложенных конструкций if

Фактически вторую форму можно рассматривать как вложенные конструкции if...е1sе изначально рассмотренного типа.


Партнеры сайта