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;