Skip to content

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:

  1. Инициализация — выполняется один раз в начале цикла.
  2. Условие — проверяется перед каждой итерацией. Если условие ложное, цикл завершает работу.
  3. Шаг — изменяет значение переменной после выполнения тела цикла.

Пример 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

Важные моменты:

  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:

  1. for: удобен, когда известны начальные и конечные значения или количество итераций.
  2. while: используется, когда количество итераций заранее неизвестно или зависит от динамического условия.

Заключение

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

пример

https://gitlab.com/synergy9980417/tema2_urok3