Визуальное программирование на Java Swing в NetBeans
Шрифт:
Для выхода из конструкции после завершения инструкций блока используется команда break. Если не прервать исполнение командой break, то будет исполняться блок инструкций, соответствующий следующему значению.
Если значение выражения не совпало ни с одним из значений операторов case, то выполняется первая инструкция блока default. Если же метка default отсутствует, выполнение оператора switch завершается.
int month = 4;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "зима"; break;
case 3:
case 4:
case 5:
season = "весна"; break;
case 6:
case 7:
case 8:
season = "лето"; break;
case 9:
case 10:
case 11:
season = "осень"; break;
default:
season = "Нет
}
System.out.println("Апрель – это " + season + ".");
run: Апрель – это весна.
Циклы for. Выражение for применяется для организации циклического перехода по значениям из заданного диапазона и в общем виде выглядит так:
for (СекцияИнициализации; БулевскоеВыражение; Секция изменения) Инструкция;
Обработка цикла происходит в следующем порядке:
– инициализация;
– проверка условия завершения;
– исполнение тела цикла;
– инкрементация счётчика.
Все секции заголовка цикла for являются необязательными. Если СекцияИнициализации опускается, на её месте остаётся только символ точки с запятой. Если же из заголовка исключается БулевскоеВыражение, в качестве значения логического условия подразумевается литерал true. Исключение всех трёх секций приводит к тому, что цикл становится «бесконечным»:
for (;;) {
Инструкции;
}
for (int i = 1; i <= 10; i++) {
System.out.println("i = " + i);
}
run:
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
i = 10
for (int n = 10; n > 0; n–) {
System.out.println("n= " + n);
}
run:
n= 10
n= 9
n= 8
n= 7
n= 6
n= 5
n= 4
n= 3
n= 2
n= 1
int a, b;
for (a = 1, b = 4; a < b; a++, b–) {
System.out.println("a = " + a);
System.out.println("b = " + b);
}
run:
a = 1
b = 4
a = 2
b = 3
Циклы while. Синтаксис циклической конструкции while выглядит так:
while (БулевскоеВыражение)
Инструкция;
int n = 5;
while (n > 0) {
System.out.println("while " + n);
n–;
}
run:
while 5
while 4
while 3
while 2
while 1
Сначала осуществляется проверка булевского выражения. Если результат равен true, выполняется Инструкция (в качестве инструкции может быть использован блок), после чего булевское выражение проверяется вновь, и процесс повторяется до тех пор, пока в результате проверки не будет получено значение false.
Циклы do … while. Если требуется исполнить тело цикла
хотя бы 1 раз, используется конструкция do … while:do
while (БулевскоеВыражение)
int n = 5;
do {
System.out.println("do-while " + n);
} while (–n > 0);
run:
do-while 5
do-while 4
do-while 3
do-while 2
do-while 1
В этом случае проверка истинности логического выражения осуществляется после выполнения тела цикла.
В теле циклов можно использовать две особые инструкции:
– break – применяется для завершения выполнения цикла;
– continue – передаёт управление в конец тела цикла (т.е. начинает следующую итерацию). В ситуациях с while и do это приводит к выполнению проверки условия цикла, а при использовании в теле for инструкция continue производит передачу управления секции изменения значения переменных цикла.
Метки. В Java отсутствует оператор goto. Но хотя программирование с применением goto и считается плохим тоном, существуют задачи, в которых его использование очень удобно. Основным примером такой ситуации является совершение выхода одновременно из двух вложенных циклов.
Эта проблема решается в Java использованием меток. Любая инструкция в программе может быть снабжена меткой, которая представляет собой содержательное имя, позволяющее сослаться на соответствующую инструкцию.
метка: инструкция
Несмотря на то, что метка может быть установлена перед любой инструкцией, на практике имеет смысл применять метки только перед циклическими конструкциями for, while, do, условными конструкциями if, switch и блоками {}. Чтобы «выбраться» из вложенного цикла или блока, достаточно снабдить меткой соответствующий внешний блок и указать её в команде break, которая передаёт управление первой инструкции, следующей за блоком.
Примеры:
В данном случае break осуществит выход сразу из двух циклов.
Ещё один пример выхода из сложной конструкции:
boolean t = true;
a:
{
b:
{
c:
{
System.out.println("До break");
if (t) {
break b;
}
System.out.println("He будет выполнено ");
}
System.out.println("He будет выполнено ");
}
System.out.println("После break");
}
run:
До break
После break
Выход из методов (процедур). В Java для реализации выхода из методов (процедур) используется метод return, который приведет к немедленному завершению работы и передаче управления коду, вызвавшему этот метод. Ниже приведен пример, иллюстрирующий использование оператора return:
boolean t = true;
System.out.println("До return");