Условные и управляющие операторы Java. Часть VI

Когда мы создавали и использовали класс RunTelefon с методом main(), я говорил, что программа выполняет прописанный код строка за строкой и это действительно так. В небольших программах, таких, как мы создали, этого вполне достаточно, но в действительно огромных программах такой подход не логичен. Нельзя «прыгать» по программе, надо идти от строки к строке. Но если все же требуется перейти в программе к какому-то методу или месту программы, что тогда? Для этого в языке Java существуют условные операторы.

Рассмотрим ситуацию, которая более наглядно объяснит смысл операторов. Допустим, вы дома, у вас нет хлеба и надо сбегать в булочную за углом. Прежде чем идти в булочную вы обязательно проверите, есть ли у вас деньги на покупку хлеба и только потом отправитесь в магазин за хлебом. Здесь имеет место предусловие наличия денег, выполнение которого приводит вас либо к походу за хлебом, либо к соседу за деньгами. В том случае, если не рассматривать это предусловие, то вы бы вышли и пошли в магазин и придя в магазин, стали бы искать по карманам деньги, которых в карманах как всегда нет. Вот для этого и существуют условные операторы.

В языке Java имеется несколько условных операторов. Первый из них: if/else – представляющий собой такую сдвоенную конструкцию. Синтаксический шаблон условного оператора if/else выглядит следующим образом:

if (условие)
{
// действие №1
}
else
{
// действие №2
}

Переводя эту конструкцию на русский язык, можно сказать: если (if) некое условие верно, то перейти к действию №1, а иначе (else) выполнить действие №2. Такая сдвоенная конструкция if/else может быть не обязательна, иногда достаточно лишь записи оператора if. Можно использовать вложенные операторы if/else, например:

if (условие 1)
{
if (условие 2)
{
…
}
}

Здесь проверяется первое условие и если оно верное, то происходит переход к следующему оператору if, если и это условие верное, то выполняются действия и во втором и в первом условном операторе. Если же условие во втором операторе if не верно, то выполняются действия только первого оператора if. Условные операторы в программировании на Java используются постоянно и важно понимать их общий принцип работы.

Управляющий оператор

В языке Java еще существует управляющий оператор switch, который можно в принципе отнести к условным операторам. Он тоже основан на неких условиях, но предоставляет многовариантное ветвление кода для выбора нескольких путей работы программы. Посмотрите на синтаксический шаблон этого оператора:

switch (условие)
{
case 1:
// действие 1
break;

case 2:
// действие 2
break;
…
case 20:
// действие 20
break;

default:
// действие по умолчанию
break;
}

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

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

Содержание

Основы языка программирования Java. Часть I
Синтаксис и семантика языка Java. Часть II
Операторы языка Java. Часть III
Метод main в языках Java и Java 2 ME. Часть IV
Объекты классов в Java и Java 2 ME. Часть V
Условные и управляющие операторы Java. Часть VI
Циклы языка программирования Java. Часть VII
Массивы данных в Java и Java 2 ME. Часть VIII
Наследование в языке программирования Java. Часть IХ
Интерфейсы в Java и Java 2 ME. Часть Х
Пакеты в Java и Java 2 ME. Часть ХI