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

1.14.6 Оператор цикла for

Третий оператор цикла – оператор for – выглядит так:

for ( списокВыр ; логВыр; списокВыр2) оператор;

Перед выполнением цикла вычисляется список выражений списокВыр1. Это нуль или несколько выражений, перечисленных через запятую. Они вычисляются слева направо, и в следующем выражении уже можно использовать результат предыдущего выражения. Как правило, здесь задаются начальные значения переменным цикла.

Затем вычисляется логическое выражение логВыр. Если оно истинно, true, то выполняется оператор, потом вычисляются слева направо выражения из списка выражений списокВыр2. Далее снова проверяется логВыр. Если оно истинно, то выполняется оператор и списокВыр2 и т. д. Как только логВыр станет равным false, выполнение цикла заканчивается.

Вместо списокВыр1 может стоять одно определение перемен­ных обязательно с начальным значением. Такие переменные известны только в пределах этого цикла.

for (int i = 0, j=10; i < j; i++, j--){

System.out.println("i="+i+", j="+j);

}

Любая часть оператора for может отсутствовать: цикл может быть пустым, выражения в заголовке тоже, при этом точки с запятой сохраняются. Можно задать бесконечный цикл:

for (;;) оператор;

В этом случае в теле цикла следует предусмотреть какой-нибудь выход.

int i=0;

for (;;){

if (i==5) break;

i++;

System.out.println(i);

}

Хотя в операторе for заложены большие возможности, используется он, главным образом, для перечислений, когда их число известно, например, фрагмент кода

int s=0, N=7;

for (int k = 1; k <= N; k++)

s += k * k;

вычисляет сумму квадратов первых N чисел.

В листинге 1.22 показан пример вывода чисел в диапазоне от -10 до 10 с шагом 2.

Листинг 1.22

public class Main {

public static void main(String args[]) {

for (int i = -10; i <= 10; i += 2) {

System.out.println("i=" + i);

}

}

}

Задание:

1). С помощью цикла for подсчитайте сумму всех четных чисел в диапазоне от -20 до 20.

2). Выведите все простые числа до 100.

1.14.7 Оператор continue и метки

Оператор continue используется только в операторах цикла. Он имеет две формы. Первая форма состоит только из слова continue и осуществляет немедленный переход к следующей итерации цикла. В листинге 1.23 оператор continue позволяет обойти деление на нуль:

Листинг 1.23

public class Main {

public static void main(String args[]) {

for (int i = 0, j = 4, s = 0; i < 5; i++, j--) {

if (i == j) {

System.out.println("del na 0 ");

continue;

}

s = 100 / (i - j);

System.out.println("s = " + s);

}

}

}

Листинг 1.24 содержит метку:

continue метка;

Листинг 1.24

public class Main {

public static void main(String args[]) {

label:

for (int i = 0; i < 10; i++) {

for (int j = 0; j < 10; j++) {

if (i == 5) {

continue label;

}

}

System.out.println(i);

}

}

}

Метка записывается, как все идентификаторы, из букв Java, цифр и знака подчеркивания, но не требует никакого описания. Метка ставится перед оператором или открывающей фигурной скобкой и отделяется от них двоеточием. Так получается помеченный оператор или помеченный блок.

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