Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Оператор continue в Java: управление потоком циклов с примерами

Оператор continue в Java

Это руководство объясняет операторы continue и помеченный continue в Java с наглядными примерами для эффективного управления потоком циклов.

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

Об операторе break читайте в Java break. Здесь мы фокусируемся на continue.


Оператор continue в Java

Оператор continue пропускает текущую итерацию цикла (for, while, do…while и др.). После continue программа переходит к проверке условия завершения цикла (и для for — к выражению обновления).

Синтаксис:

continue;

Примечание: Оператор continue чаще всего используется внутри условных блоков (например, if).


Принцип работы continue

Оператор continue в Java: управление потоком циклов с примерами

Пример 1: Оператор continue в Java

class Main {
    public static void main(String[] args) {
        // цикл for
        for (int i = 1; i <= 10; ++i) {
            // если i между 4 и 9
            // выполняется continue
            if (i > 4 && i < 9) {
                continue;
            }
            System.out.println(i);
        }
    }
}

Вывод:

1
2
3
4
9
10

В программе цикл for выводит значение i на каждой итерации. Оператор continue срабатывает, когда i больше 4 и меньше 9, из-за чего println пропускается для 5, 6, 7, 8.


Пример 2: Вычисление суммы 5 положительных чисел

import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        Double number, sum = 0.0;
        // создаем объект Scanner
        Scanner input = new Scanner(System.in);
        for (int i = 1; i < 6; ++i) {
            System.out.print("Введите число " + i + " : ");
            // считываем ввод пользователя
            number = input.nextDouble();
            // если число отрицательное или ноль
            // выполняется continue
            if (number <= 0.0) {
                continue;
            }
            sum += number;
        }
        System.out.println("Сумма = " + sum);
        input.close();
    }
}

Вывод:

Введите число 1: 2.2
Введите число 2: 5.6
Введите число 3: 0
Введите число 4: -2.4
Введите число 5: -3
Сумма = 7.8

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

Примечание: Мы использовали класс Scanner для чтения ввода. Подробнее: Java Scanner.


Continue во вложенных циклах

Когда циклы вложены, continue внутри внутреннего цикла влияет только на текущую итерацию этого внутреннего цикла.

Оператор continue в Java: управление потоком циклов с примерами

Пример 3: continue во вложенных циклах

class Main {
    public static void main(String[] args) {
        int i = 1, j = 1;
        // внешний цикл
        while (i <= 3) {
            System.out.println("Внешний цикл: " + i);
            // внутренний цикл
            while(j <= 3) {
                if(j == 2) {
                    j++;
                    continue;
                }
                System.out.println("Внутренний цикл: " + j);
                j++;
            }
            i++;
        }
    }
}

Вывод

Внешний цикл: 1
Внутренний цикл: 1
Внутренний цикл: 3
Внешний цикл: 2
Внешний цикл: 3

В примере continue внутри внутреннего цикла пропускает итерацию, когда j равно 2, предотвращая вывод «Внутренний цикл: 2».


Помеченный оператор continue

Помимо базового continue, Java поддерживает помеченную версию, направляющую поток к конкретному циклу. Синтаксис:

continue label;

Это заставляет программу пропустить текущую итерацию цикла, идентифицированного label.

Оператор continue в Java: управление потоком циклов с примерами

На иллюстрации метка указывает на внешний цикл, демонстрируя, как continue может пропустить всю итерацию этого цикла.


Пример 4: Помеченный continue

class Main {
    public static void main(String[] args) {
        // внешний цикл помечен как first
        first: for (int i = 1; i < 6; ++i) {
            // внутренний цикл
            for (int j = 1; j < 5; ++j) {
                if (i == 3 || j == 2)
                    // пропускает текущую итерацию внешнего цикла
                    continue first;
                System.out.println("i = " + i + "; j = " + j);
            }
        }
    }
}

Вывод:

i = 1; j = 1
i = 2; j = 1
i = 4; j = 1
i = 5; j = 1

Здесь labeled continue переходит к следующей итерации цикла first всякий раз, когда i равно 3 или j равно 2.

Примечание: Помеченный continue может быть мощным, но часто снижает читаемость. При такой необходимости рассмотрите рефакторинг для сохранения ясности потока.

java

  1. Оператор continue в C#: как эффективно пропускать итерации циклов
  2. Освоение оператора continue в C++: практические примеры и управление циклами
  3. Мастерство управления циклами в Python: break и continue
  4. Освоение операторов Java: типы, синтаксис и практические примеры
  5. Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
  6. Интерфейсы в Java: концепции, реализация и лучшие практики
  7. Try-with-resources в Java: автоматическое управление ресурсами
  8. Аннотации в Java: типы, размещение и практические примеры
  9. Java-программа для идентификации чисел Армстронга с использованием for-цикла
  10. Освоение циклов Python: for, while, break, continue и enumerate