Программирование на языке Java
Программирование на языке Java
277.50K
Category: programmingprogramming

Программирование на языке Java.Тема 19. Операторы перехода

1. Программирование на языке Java

19. Операторы перехода

2. Программирование на языке Java

Тема 19. Операторы
перехода

3.

Оператор break
Применение:
1. Завершение последовательности операторов в
операторе switch;
2. Завершение работы цикла.
3. Форма оператора безусловного перехода (goto)
3

4.

Использование break для выхода из цикла
Оператор break вызывает немедленное завершение
цикла, пропуская условное выражение и любой
Цикл должен
остальной код в теле цикла (управление передается
выполниться
оператору, следующему за циклом).
100 раз
int i;
При i = 10 цикл
for (i = 0; i < 100; i++) {
завершается
if (i == 10) break;
System.out.printf(“%d, ”,i);
}
System.out.println(”\nЦикл завершен.”);
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Цикл завершен.
4

5.

Использование break для выхода из цикла
int i = 0;
while (i < 100) {
if (i == 10) break;
System.out.printf(“%d, ”,i);
i++;
}
System.out.println(”\nЦикл завершен.”);
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Цикл завершен.
5

6.

break внутри вложенных циклов – 1
Внимание! В случае использования внутри набора
вложенных циклов оператор break осуществляет выход
только из самого внутреннего цикла.
6

7.

break внутри вложенных циклов – 2
Внешний цикл
int i, j;
for
for (i
(i == 0;
0; ii << 3;
3; i++)
i++) {{
Внутренний
цикл
System.out.printf("Проход
System.out.printf("Проход %d:
%d: ",
", i);
i);
for (j
(j === 0;
0; jjj <<< 100;
100; j++)
j++) {{{
for
for
(j
0;
100;
j++)
10)
break;
if
(j
==
10)
break;
ifif
(j(j
====
10)
break;
System.out.printf("%d
j);
System.out.printf("%d
",
j);
System.out.printf("%d
",",
j);
}} }
System.out.print("\n");
System.out.print("\n");
}}
System.out.println("Циклы завершены.");
Проход 0: 0 1 2 3 4 5 6 7 8 9
Проход 1: 0 1 2 3 4 5 6 7 8 9
Проход 2: 0 1 2 3 4 5 6 7 8 9
Циклы завершены.
7

8.

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

9.

Использование break в качестве goto
break <label>;
label – имя метки, которая идентифицирует
некоторый блок кода.
Когда эта форма break выполняется, управление
передается из именованного блока кода (чья метка
указана в операторе break) на следующий за этим
блоком оператор.
Помеченный блок кода обязательно должен включать
данный оператор break.
Для именования блока метка помещается в его начале
(перед открывающей блок фигурной скобкой).
Метка – это любой допустимый идентификатор Java,
за которым следует двоеточие.
9

10.

Пример
boolean t = true;
Выход из блока
first: {
second
second: {
third: {
println("Перед оператором break.");
if (t) {
break second;
}
println("никогда не выполнится");
}
println("никогда не выполнится ");
}
println(“Оператор после блока second.");
}
Перед оператором break.
Оператор после блока second.
10

11.

Пример
Выход из обоих
outer: {
for (int i = 0; i < 3; i++) {
циклов
printf("Проход %d: ", i);
for (int j = 0; j < 100; j++) {
if (j == 10)
break outer;
print(j + " ");
}
println("никогда не выполнится");
}
}
println("\nЦикл завершен.");
Проход 0: 0 1 2 3 4 5 6 7 8 9
Цикл завершен.
11

12.

12
Пример
one: {
for (int i = 0; i < 3; i++) {
print("Проход %d: ", i);
}
}
for (int j = 0; j < 100; j++) {
if (j == 10)
break one;
print(j + " ");
}
?
Блок не
содержит break
Что не так?

13.

Оператор continue
Оператор continue применяется, когда в текущей
итерации цикла необходимо пропустить все команды до
конца тела цикла.
При этом сам цикл не прерывается, условия
продолжения или выхода вычисляются обычным
образом.
В циклах while и do-while оператор continue
вызывает передачу управления управляющему
условному выражению цикла.
В цикле for управление передается вначале
итерационной части цикла for, а потом условному
выражению.
13

14.

Использование continue
int i;
for (i = 0; i < 10; i++) {
printf("%d ", i);
if (i % 2 == 0)
continue;
System.out.print("\n");
}
0
2
4
6
8
1
3
5
7
9
14

15.

Использование break и continue – 1
for(int i = 0; i < 100; i++) {
if(i == 74) break;
if(i % 9 != 0) continue;
System.out.println(i);
}
0
9
18
27
36
45
54
63
72
15

16.

Использование break и continue – 2
Бесконечный цикл
int i = 0;
while(true) {
i++;
int j = i * 27;
if(j == 1269) break;
if(i % 10 != 0) continue;
System.out.println(i);
}
10
20
30
40
16

17.

Оператор return
Оператор return используется для выполнения
явного возврата управления из метода.
Например return из метода main() приводит к
возврату управления системе времени выполнения Java,
т.к. именно она вызывает метод main().
17

18.

18
Использование return
Условие обязательно,
иначе компилятор
вернет ошибку.
После выполнения
return завершится
выполнение метода
main
boolean t = true;
System.out.println("До завершения возврата");
if (t)
return;
System.out.println("Этот оператор выполняться
не будет");
До завершения возврата
English     Русский Rules