Пропуск итерации в цикле for Java: аналог VB 'Continue'

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

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

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

Java
Скопировать код
for (int i = 0; i < 10; i++) {
    if (i % 2 == 0) continue; 
    System.out.println(i);    // Печатаем лишь нечетные числа
}
Кинга Идем в IT: пошаговый план для смены профессии

Тонкости в контроле циклов

Для ускорения работы программы решающую роль играет эффективное управление циклами. В Java доступно три инструмента: это continue, break и метки.

Основы работы с continue

В циклах for, while и do-while continue пропускает код текущей итерации, позволяя перейти к следующей, если выполнение кода в рамках итерации не требуется.

Java
Скопировать код
for (int i = 0; i < list.size(); i++) {
    if (!list.get(i).isConditionMet()) {
        continue; 
    }
    // Обрабатываем элемент списка
}

Примечание: Будьте внимательны при формулировании условий для применения continue, чтобы не столкнуться с бесконечными циклами или пропуском критического кода.

Знакомство с break

Break прерывает цикл, не зависимо от состояния его итераций, что позволяет нам выйти из цикла.

Java
Скопировать код
for(int i = 0; i < 10; i++) {
    if(someCondition(i)) {
        break; 
    }
    // Оставшийся код цикла
}

Применение меток в сложных циклах

Метки облегчают ориентацию в управлении break и continue во вложенных циклах.

Java
Скопировать код
outerLoop: // Метка внешнего цикла
for(int i = 0; i < 10; i++) {
    innerLoop:
    for(int j = 0; j < 10; j++) {
        if(someCondition(i, j)) {
            continue outerLoop; // Пропускаем итерацию внешнего цикла
        }
        // Код внутреннего цикла
    }
    // Код внешнего цикла
}

Используйте метки обдуманно, чтобы не вносить хаос в понимание программного кода.

Визуализация

Представьте соревнование с препятствиями, где каждое препятствие — это итерация цикла:

Markdown
Скопировать код
Трек:       🏃‍♂️🚧🚧🚧🚧
Итерации: 1   2   3   4

Скрипт continue; позволяет "перепрыгнуть" через препятствие, минуя действия в текущем круге:

Java
Скопировать код
for (int i = 0; i < 4; i++) {
    if (shouldSkipHurdle(i)) {
        continue; // Уверенно преодолеваем препятствие
    }
    // Здесь заключены действия итерации
}

Следующая Итерация означает преодоление следующего препятствия 🚧➡️🚧.

Избегайте стандартных ошибок и следуйте передовым схемам

Возможно столкнуться с трудностями в любых соревнованиях. Ниже рассмотрены примеры, позволяющие избегать потенциальных ошибок:

Бесконечный цикл — это забег без финиша!

Не правильное применение continue влечёт за собой бесконечный цикл:

Java
Скопировать код
while(true) {
    if(someUnchangingCondition) {
        continue; // Здесь мы стартуем на "длинную дистанцию"
    }
    // Здесь заключён код, который, возможно, никогда не выполнится
}

Метки – искусство ориентировки или источник заблуждения?

Метки уместны, если использовать их осознанно. Выбирайте имена вдумчиво и используйте их с умеренностью.

Вложенные циклы – сложный маршрут!

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

Юнит-тестирование – ваша подготовка перед "стартом"!

Тестируйте программный код, чтобы избежать непредвиденных результатов и ошибок в логике работы циклов.

Полезные материалы

  1. Операторы ветвления (The Java™ Tutorials > Learning the Java Language > Language Basics) – Официальное руководство по управлению потоком в Java.
  2. Как выйти из вложенных циклов в Java? – Stack Overflow – Обсуждение continue и break в сообществе.
  3. Оператор continue в Java – GeeksforGeeks – Объяснение работы continue в деталях.
  4. Java – оператор continue – TutorialsPoint – Инструкция по применению continue в циклах.
  5. Java Continue – JavatpointContinue на практических примерах.
  6. Java Continue – Детальное рассмотрение continue с помощью DigitalOcean.