Тесты Пообщаться с GPT Протестировать код
Программирование Аналитика Дизайн Маркетинг Управление проектами
19 Ноя 2024
8 мин
14701

Цикл for в Java: что это, как с ним работать

Пройдите тест, узнайте какой профессии подходите

Циклы — это способ многократно выполнять один и тот же код.

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

В статье рассмотрим цикл for.Принцип работы и как его использовать.

Общее о цикле

Цикл — это конструкция, которая повторяет одни и те же действия, пока есть определенное условие.

Конструкцию можно описать так:

  • Условие завершения — цикл работает, пока условие истинно.
  • Тело цикла — это действия, которые нужно выполнить.

Вот как это выглядит в Java:

  • Цикл while
    Выполняет действие, пока есть условие.
    while (i < 50) { // Цикл работает, пока i меньше 50
    i++; // Увеличиваем i на 1
    System.out.println(i); // Печатаем значение i
    }
    Цикл будет работать, пока i меньше 50.
  • Цикл do…while (с постусловием)
    Этот цикл всегда пройдет хотя бы один раз, даже если условие не выполнено. Потому что сначала выполняется тело цикла, а потом проверяется условие.
    do {
    i++;
    System.out.println(i);
    } while (i < 50);
    Программа сразу заходит в цикл и печатает 100, хотя i уже не меньше 50. Только после этого проверяется условие i < 50. Условие ложное, поэтому повторов больше не будет. Но одна итерация всё равно прошла.
  • Вложенные циклы
    Это цикл внутри цикла.
    while (i < 50) {
    while (j < 5) {
    j++;
    System.out.println(i + j);
    }
    i++;
    }
    Внешний цикл следит за i, а внутренний — за j. Такой подход часто используют, когда нужно работать с таблицами, матрицами или несколькими уровнями данных.

На курсе «Java-разработчик» поймете, как работают циклы, объекты и протоколы. Научитесь разрабатывать веб-приложения на языке Java и популярном фреймворке Spring Boot, проектировать и создавать схемы баз данных и работать с базами, проводить автоматизированное тестирование и проверять свои алгоритмы и многое другое. За одиннадцать месяцев с нуля соберете классное портфолио, которое сможете показать работодателю.

Что такое цикл for в Java

Цикл for — это удобный способ повторить одно и то же действие несколько раз. Особенно когда заранее известно, сколько раз это нужно сделать. Например, напечатать слово «Привет» десять раз.

Вот как это выглядит в коде:

for (int i = 0; i < 10; i++) {
System.out.println("Привет");
}

int i = 0 — создает переменную i и присваивает ей значение 0. Это начало цикла.
i < 10 — условие, при котором цикл выполняется. Пока i меньше 10, цикл продолжается.
i++ — после каждой итерации (повторения) значение i увеличивается на 1. Это шаг цикла.
System.out.println("Привет"); — это тело цикла, действие, которое выполняется при каждой итерации.

Итог: слово «Привет» напечатано 10 раз — от i = 0 до i = 9.

Принцип работы цикла for в Java

Цикл for помогает повторять команды нужное количество раз и указывает, когда остановиться.

Общая структура цикла for в Java:

for (инициализация; условие; изменение) {
// блок кода, который будет выполняться
}

  • Инициализация указывает, с какого значения начинается счетчик. Например, int i = 0.
  • Условие — проверка перед каждой повторной попыткой. Пока условие верно, цикл работает. Например, i < 10.
  • Изменение обновляет счетчик после каждого круга. Например: i++ — это значит, что i увеличивается на 1.

Рассмотрим простой пример. Нужно напечатать числа от одного до пяти:

public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) { // инициализация: i=1, условие: i <= 5, изменение: i++
System.out.println(i); // блок кода, который будет выполняться
}
}
}

Когда запустили код, происходит следующее:

  • Первая итерация: i равен 1, условие 1 <= 5 истинно. System.out.println(i); выводит 1.
  • Вторая итерация: i равен 2, условие 2 <= 5 истинно, система выводится 2.
  • Третья итерация: i равен 3, условие 3 <= 5 истинно, получаем 3.
  • Четвертая итерация: i равен 4, условие 4 <= 5 истинно — 4.
  • Пятая итерация: i равен 5, условие 5 <= 5 истинно — 5.
  • Шестая итерация: i равен 6, условие 6 <= 5 ложно — цикл останавливается.

Хорошо подходит, если нужно пройтись по числам, массивам или спискам.

Как используют цикл for в Java

Цикл не только перебирает числа в диапазоне, но и выполняет другие задачи.

  • Повторяет слово несколько раз
    Если нужно напечатать слово или фразу несколько раз, цикл for подойдет идеально:
    for (int i = 0; i < 3; i++) {
    System.out.println("Привет!");
    }
    Начинается с i = 0.
    Пока i < 3 — выполняется тело цикла.
    После каждого шага i увеличивается на 1.
    В результате видите:
    Привет!
    Привет!
    Привет!
    Таким методом можно быстро менять количество повторов. Просто измените условие, например: i < 10.
  • Перебирает массив
    С for удобно обрабатывать каждый элемент в массиве. Например, есть список фруктов. И нужно вывести название каждого фрукта на экран.
    String[] fruits = {"Яблоко", "Банан", "Груша"};
    for (int i = 0; i < fruits.length; i++) {
    System.out.println("Фрукт: " + fruits[i]);
    }
    В массиве fruits 3 элемента.
    Цикл начинается с i = 0 и работает, пока i < fruits.length меньше 3. Каждый шаг выводит элемент с индексом i.
    Результат на экране:
    Фрукт: Яблоко
    Фрукт: Банан
    Фрукт: Груша

    Такой способ удобный, если в массиве 100 или 1000 элементов. Цикл обработает всё, и не нужно писать лишний код.

Цикл for в Java

С циклом for код становится короче и понятнее.

  • Обратный цикл for
    Можно не только увеличивать, но и уменьшать значение счетчика.
    for (int i = array.length - 1; i >= 0; i--) {
    System.out.println(array[i]);
    }
    Такой цикл пройдет по массиву в обратном порядке — с конца к началу.
  • Цикл с шагом
    Шаг — это то, на сколько меняется счетчик на каждой итерации. По умолчанию он равен 1 (i++), но можно задать любой:
    for (int i = 0; i < array.length; i += 3) {
    System.out.println(array[i]);
    }
    i увеличивается на 3. Значит, цикл будет брать только каждый третий элемент массива.
  • Вложенные циклы
    Вложенный цикл в Java — это цикл внутри цикла. Таким способом удобно работать с двумерными массивами (матрицами):
    int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6}
    };
    for (int i = 0; i < matrix.length; i++) {
    for (int j = 0; j < matrix[i].length; j++) {
    System.out.println(matrix[i][j]);
    }
    }
    Такой код пройдет по всем элементам матрицы и выведет их по очереди.
  • Бесконечный цикл
    Если в условии всегда стоит true, цикл будет работать бесконечно:
    for (int i = 0; true; i++) {
    System.out.println(i);
    }
    А еще можно вообще не указывать никаких условий, и это тоже будет бесконечный цикл:
    for (;;) {
    System.out.println("wow");
    }
    Но будьте внимательны. Из-за таких циклов программа может зависнуть и придется перезагружать компьютер.

Практика — это основная часть обучения на курсе «Java-разработчик» в Skypro. Уже во время учебы начнете работать над реальными проектами. А в конце получите диплом и знания, которые реально нужны работодателям.

Операторы, которые изменяют поведение цикла

Иногда нужно изменить стандартную работу цикла. Например, остановить раньше или пропустить часть кода. Для этого в Java есть специальные операторы — break и continue.

  • Оператор break
    Оператор break останавливает цикл полностью, даже если условие еще не выполнено.
    DayOfWeek dayOfWeek = LocalDate.now().getDayOfWeek();
    for (int i = 0; i < 10; i++) {
    System.out.println(i);
    if (dayOfWeek == DayOfWeek.MONDAY && i == 5) {
    break; // выходим из цикла, если понедельник и i равны 5
    }
    }
    В любой день, кроме понедельника, программа напечатает числа от 0 до 9. А в понедельник — только от 0 до 5. Когда i станет равно 5, break остановит цикл.
  • Оператор continue
    Оператор continue не завершает цикл, а пропускает текущий шаг и переходит к следующей итерации.
    DayOfWeek dayOfWeek = LocalDate.now().getDayOfWeek();
    for (int i = 0; i < 10; i++) {
    if (dayOfWeek == DayOfWeek.FRIDAY && i == 5) {
    continue; // пропускаем печать, если пятница и i равны 5
    }
    System.out.println(i);
    }
    В любой день, кроме пятницы, программа напечатает числа от 0 до 9. А в пятницу — все числа от 0 до 9, кроме 5. На шаге, когда i == 5, сработает continue, и System.out.println(i); просто не выполнится.
    Эти команды помогают управлять циклом в зависимости от ситуации.

Оператор foreach

Когда работаете с массивами или коллекциями, часто нужно просто пройтись по всем элементам и что-то с ними сделать. Например, распечатать каждый элемент. Раньше нужно было писать много одинакового кода: начинать с первого элемента, увеличивать индекс на 1, проверять условие окончания и так далее.

Цикл foreach упростил этот процесс.

Структура цикла:

for (тип переменной : коллекция) {
// действия с элементом
}

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

Вот как это выглядит на примере:

String[] words = { "Раз", "Два", "Три" };

for (String word : words) {
System.out.println(word);
}

  • В массиве words три строки.
  • Цикл foreach проходит по всем элементам массива — сначала «Раз», потом «Два», «Три».
  • На каждой итерации элемент записывает переменную word, а System.out.println(word) печатает его.

Это удобно. Не нужно думать о номере элемента, писать i = 0, i < array.length, i++. Всё происходит автоматически. Вы просто получаете по одному элементу из массива и работаете с ним.

А еще, как и в обычных циклах, в foreach можно использовать функцию break — остановить цикл.
И continue — перейти к следующему элементу, пропустив текущий.

Главное о цикле for в Java

  • Цикл for — это один из видов цикла while. Его удобно использовать, когда заранее известно, сколько раз нужно повторить команды.
  • Счетчик в цикле for можно не только увеличивать, но и уменьшать — это называется обратный цикл.
  • Если нужно работать с таблицами или массивами в несколько строк и столбцов, используют вложенные циклы for.
  • Команда break останавливает цикл раньше, если это нужно. А continue — пропускает одну итерацию и переходит к следующей.
  • Цикл foreach — это упрощенная версия for, когда надо просто пройтись по всем элементам массива или коллекции.

Добавить комментарий