while
Цикл while
в Java — это одна из управляющих конструкций, которая позволяет выполнять блок кода многократно, пока выполняется некоторое условие. Он особенно полезен, когда заранее неизвестно, сколько раз нужно повторить действия.
Синтаксис цикла while
:
while (условие) {
// Блок кода, который будет выполняться, пока условие истинно
}
- Условие проверяется перед каждой итерацией.
- Если условие истинно, то выполняется тело цикла.
- Как только условие становится ложным, выполнение цикла прекращается, и управление передаётся следующей части программы.
Пример 1: Базовый цикл while
Предположим, что нужно вывести числа от 1 до 5:
public class Main {
public static void main(String[] args) {
int i = 1; // Начальная переменная
while (i <= 5) { // Цикл продолжается, пока i <= 5
System.out.println(i); // Вывод значения переменной i
i++; // Увеличиваем i на 1 после каждой итерации
}
}
}
Объяснение:
1. Переменная i
инициализируется значением 1.
2. Цикл будет выполняться до тех пор, пока переменная i
не станет больше 5.
3. В каждой итерации выводится текущее значение переменной i
, после чего оно увеличивается на 1.
Результат:
1
2
3
4
5
Важные моменты:
- Бесконечные циклы: Если условие цикла всегда истинно, то цикл будет выполняться бесконечно. Чтобы этого избежать, нужно следить за изменением условий.
Пример бесконечного цикла:
while (true) {
// Этот цикл будет продолжаться бесконечно
}
Чтобы предотвратить такой случай, обычно внутри тела цикла прописываются условия для выхода.
Пример 2: Бесконечный цикл с ручным выходом
public class Main {
public static void main(String[] args) {
int i = 1;
while (true) {
System.out.println(i);
i++;
if (i > 5) {
break; // Прерывание цикла, если i больше 5
}
}
}
}
Результат:
1
2
3
4
5
- Пропуск итерации с
continue
: Иногда нужно пропустить часть итераций, не завершая весь цикл. Это можно сделать с помощью оператораcontinue
.
Пример 3: Пропуск итерации
Выведем только чётные числа от 1 до 10:
public class Main {
public static void main(String[] args) {
int i = 1;
while (i <= 10) {
if (i % 2 != 0) {
i++;
continue; // Пропустить эту итерацию, если i нечетное
}
System.out.println(i); // Выводим только четные числа
i++;
}
}
}
Результат:
2
4
6
8
10
Цикл while
с пользовательским вводом
Пример 4: Запрос пользовательского ввода
Программа будет продолжать спрашивать у пользователя число, пока он не введёт 0:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
while (true) {
System.out.print("Введите число (0 для выхода): ");
number = scanner.nextInt();
if (number == 0) {
break; // Прерывание цикла, если введен 0
}
System.out.println("Вы ввели: " + number);
}
}
}
Результат:
Введите число (0 для выхода): 5
Вы ввели: 5
Введите число (0 для выхода): -2
Вы ввели: -2
Введите число (0 для выхода): 0
Цикл while
и массивы
Цикл while
можно использовать для итерации по массиву.
Пример 5: Проход по массиву с помощью while
public class Main {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
int index = 0;
while (index < numbers.length) {
System.out.println(numbers[index]);
index++;
}
}
}
Результат:
1
2
3
4
5
Важно: Следить за условиями выхода из цикла
Неправильное или отсутствующее изменение переменных, участвующих в условии цикла, может привести к бесконечному циклу.
Пример 6: Потенциальная ошибка
int i = 10;
while (i > 0) {
System.out.println(i);
// i--; // Если забыть уменьшить i, цикл будет выполняться бесконечно
}
Заключение
Цикл while
— это мощная конструкция, которая позволяет повторять выполнение кода до тех пор, пока выполняется условие. Она используется там, где заранее неизвестно количество итераций.
пример
https://gitlab.com/synergy9980417/tema2_urok2_2