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

1.14.4 Оператор цикла while

Основной оператор цикла – оператор while – выглядит так:

while (логВыр) оператор;

Вначале вычисляется логическое выражение логВыр; если его значение true, то выполняется оператор, образующий цикл. Затем снова вычисляется логическое выражение и действует оператор, и так до тех пор, пока не получится значение false. Если логВыр изначально равняется false, то оператор не будет выполнен ни разу. Предварительная проверка обеспечивает безопасность выполнения цикла, позволяет избежать переполнения, деления на нуль и других неприятностей. Поэтому оператор while является основным, а в некоторых языках и единственным оператором цикла.

int i = 1, sum = 0;

while (i < 5 && sum < 4) {

sum += i;

i++;

}

System.out.println(sum);

Можно организовать бесконечный цикл:

while (true) оператор;

Конечно, из такого цикла следует предусмотреть какой-то выход, например, используя оператор break. В противном случае программа зациклится, в результате чего придется принудительно прекращать ее выполнение. В листинге 1.20 показаны примеры использования бесконечного цикла.

Листинг 1.20

public class Main {

public static void main(String args[]) {

int i = 0;

while (true) {

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

i++;

if (i == 10) {

break;

}

}

}

}

или так:

public class Main {

public static void main(String args[]) {

int i = 0;

boolean d = true;

while (d) {

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

i++;

if (i == 10) {

d = false;

}

}

}

}

Если в цикл необходимо включить несколько операторов, то следует исполь­зовать блок операторов {}.

Задания:

1) С помощью цикла while и оператора if определяйте четность чисел и выводите их (числа от 1 до 10).

1-нечетное

2-четное

И т.д.

2) Напишите цикл while выводящий числа последовательности 1, 4, 7, 10… до тех пор, пока их произведение не превысит 300 или сумма 200. Выведите количество этих чисел.

3) Организуйте бесконечный цикл вычисляющий факториал числа введенного с клавиатуры. Выход из цикла с помощью break.

1.14.5 Оператор цикла do-while

Второй оператор цикла – оператор do-while – имеет вид

do оператор while (логВыр);

Здесь сначала выполняется оператор, а потом происходит вы­числение логического выражения логвыр. Цикл выполняется, пока логвыр остается равным true.

Существенное различие между этими двумя операторами цикла заключается в том, что в цикле do-while оператор обязательно выполнится хотя бы один раз. В листинге 1.21 показан вывод чисел кратных 3 в диапазоне от -10 до 10.

Листинг 1.21

public class Main {

public static void main(String args[]) {

int i = -10;

do {

if (i % 3 == 0) {

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

}

i++;

} while (i <= 10);

}

}

Задание:

С помощью цикла do-while создайте программу, выводящую на экран первые 10 элементов последовательности 2 4 8 16 32 64 128 ….