for
Цикл for
в Java — это ещё одна конструкция для организации повторяющихся действий. В отличие от цикла while
, цикл for
удобен, когда известно количество повторений или начальные и конечные значения. Он также позволяет сразу задать начальное значение, условие и шаг итерации в одной строке, что делает его более компактным и наглядным.
Синтаксис цикла for
:
for (инициализация; условие; шаг) {
// Блок кода, который будет выполняться, пока условие истинно
}
- Инициализация: устанавливает начальные значения переменных. Выполняется один раз перед началом цикла.
- Условие: проверяется перед каждой итерацией. Если условие истинно, выполняется тело цикла.
- Шаг: выполняется после каждой итерации (обычно это изменение значения переменной, которая управляет циклом).
Пример 1: Цикл for
, выводящий числа от 1 до 5
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
System.out.println(i);
}
}
}
Объяснение:
1. Переменная i
инициализируется значением 1.
2. Цикл продолжается до тех пор, пока i
меньше или равно 5.
3. После каждой итерации переменная i
увеличивается на 1.
Результат:
1
2
3
4
5
Параметры цикла for
:
- Инициализация — выполняется один раз в начале цикла.
- Условие — проверяется перед каждой итерацией. Если условие ложное, цикл завершает работу.
- Шаг — изменяет значение переменной после выполнения тела цикла.
Пример 2: Цикл с отрицательным шагом
Выведем числа от 10 до 1 с шагом -1:
public class Main {
public static void main(String[] args) {
for (int i = 10; i >= 1; i--) {
System.out.println(i);
}
}
}
Результат:
10
9
8
7
6
5
4
3
2
1
Важные моменты:
- Все части цикла необязательны: Цикл
for
может быть написан без одной или нескольких частей, хотя это менее распространённый случай. Можно использовать цикл без инициализации или шага, и даже сделать условие всегда истинным для создания бесконечного цикла.
Пример 3: Цикл с пустыми частями
public class Main {
public static void main(String[] args) {
int i = 1;
for (; i <= 5;) { // Инициализация и шаг вынесены из цикла
System.out.println(i);
i++;
}
}
}
Результат:
1
2
3
4
5
Бесконечные циклы
Так же как и в случае с while
, можно создать бесконечный цикл for
. Чтобы этого избежать, нужно использовать условие выхода или оператор break
.
Пример 4: Бесконечный цикл
for (;;) {
// Этот цикл будет выполняться бесконечно
}
Пример 5: Бесконечный цикл с условием выхода
public class Main {
public static void main(String[] args) {
for (int i = 1;; i++) {
System.out.println(i);
if (i >= 5) {
break; // Прерывание цикла при достижении значения 5
}
}
}
}
Результат:
1
2
3
4
5
Цикл for
и массивы
Цикл for
часто используется для работы с массивами, так как можно легко управлять индексами.
Пример 6: Проход по массиву с использованием цикла for
public class Main {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}
}
}
Результат:
1
2
3
4
5
Вложенные циклы for
Циклы могут быть вложены друг в друга, что позволяет выполнять более сложные задачи, такие как обработка двумерных массивов.
Пример 7: Вложенные циклы
Создадим таблицу умножения:
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= 10; j++) {
System.out.print(i * j + "\t"); // Вывод результата умножения с табуляцией
}
System.out.println(); // Переход на новую строку после каждого ряда
}
}
}
Результат:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
...
Оператор continue
в цикле for
Если необходимо пропустить текущую итерацию цикла, можно использовать оператор continue
.
Пример 8: Пропуск итерации
Выведем только чётные числа от 1 до 10:
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i % 2 != 0) {
continue; // Пропустить итерацию, если i нечетное
}
System.out.println(i);
}
}
}
Результат:
2
4
6
8
10
Различия между while
и for
:
for
: удобен, когда известны начальные и конечные значения или количество итераций.while
: используется, когда количество итераций заранее неизвестно или зависит от динамического условия.
Заключение
Цикл for
— это мощный инструмент для организации повторяющихся действий, особенно когда нужно чётко управлять количеством итераций или обрабатывать последовательности.
пример
https://gitlab.com/synergy9980417/tema2_urok3