Как работает цикл for в языках программирования?

«Как работает цикл for в языках программирования?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

1. Классический for (C, Java, JavaScript)

Имеет три части в заголовке:

for (инициализация; условие; шаг) {
    // тело цикла
}

Пример:

for (let i = 0; i < 5; i++) {
    console.log(i); // 0, 1, 2, 3, 4
}

Порядок выполнения:

  1. инициализация (выполняется 1 раз).
  2. Проверка условия. Если false → выход из цикла.
  3. Выполнение тела цикла.
  4. Выполнение шага.
  5. Переход к пункту 2.

2. For-each (Итерация по коллекциям)

Используется для перебора элементов массивов, списков или других итерируемых объектов. Python:

for item in [1, 2, 3, 4, 5]:
    print(item)  # 1, 2, 3, 4, 5

JavaScript:

for (const item of [1, 2, 3, 4, 5]) {
    console.log(item);
}

Ключевые отличия:

  • Цикл со счетчиком: Позволяет контролировать индекс, изменять его произвольно, использовать для доступа по индексу.
  • Цикл по коллекции: Более читаемый, защищен от ошибок с индексами, но не дает прямого доступа к индексу (в Python для этого есть enumerate).