Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие Java .pdf
Скачиваний:
118
Добавлен:
16.03.2015
Размер:
1.32 Mб
Скачать

высокий приоритет, чем у оператора сдвига, правильный ответ – а >> (b + а). Так что если вам требуется выполнить операцию (а >> b) + 3, без скобок не обойтись.

2.11 Управление выполнением метода

Средства управления порядком выполнения инструкций в Java почти идентичны средствам, используемым в С и C++.

2.11.1 Завершение работы метода

Раньше в примерах преимущественно использовался метод main(), не возвращающий значений (формально он имеет возвращаемый тип void). В коде метода можно использовать инструкцию return, выполнение которой приведет к немедленному завершению работы метода и передаче управления коду, вызвавшему этот метод. Пример 44 иллюстрирует использование инструкции return для немедленного возврата управления, в данном случае – исполняющей среде Java.

Пример 44. Завершение работы метода class ReturnDemo {

public static void main(String[] args) { boolean t = true; System.out.println("Before the return"); //Перед оператором return

if (t) return;

System.out.println("This won't execute"); //Это не будет выполнено

}

}

Зачем в этом примере использована инструкция if (t)? Дело в том, что если бы этого оператора не было, компилятор Java знал бы, что последний вызов println() никогда не будет выполнен.

103

Такие случаи в Java считаются ошибками, поэтому без инструкции if откомпилировать этот пример нам бы не удалось.

Заметим, что использование подобных «обманывающих компилятор» инструкций в реальном программировании нежелательно.

2.11.2 Ветвление

В общей форме инструкция ветвления записывается следующим образом:

if (<логическое выражение>) <инструкция1>; [ else <инструкция2>;]

Раздел else, выполняющийся в случае, если логическое выражение принимает значение false, необязателен. На месте любой из инструкций может стоять составная инструкция, заключенная в фигурные скобки. Логическое выражение – это любое выражение, возвращающее значение типа boolean.

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

Пример 45. Ветвления class IfElse {

public static void main(String[] args) { int month = 4;

String season;

if (month == 12 || month == 1 || month == 2) { season = "Winter";

}

else if (month >2 && month <= 5) { season = "Spring";

}

else if (month > 5 && month <= 8) { season = "Summer";

}

else if (month > 8 && month <= 11) { season = "Autumn";

104

Соседние файлы в предмете Программирование на Java