Главная » Java » continue Java

0

Команда continue применяется только в контексте циклических конструкций foг, whilе и do и передает управление в конец тела цикла. В ситуациях с whilе и do это приводит к выполнению проверки условия цикла, а при использовании в теле for Инструкция continue провоцирует передачу управления секции изменения значений переменных цикла.

Как и break, команда continue допускает использование в двух формах _ безымянной:

continue;

и именованной:

continue метка;

 

Инструкция continue часто используется для пропуска определенных элементов массивов или значений из интервала изменения переменной Цикла, которые должны игнорироваться или впоследствии обрабатываться особым образом. Например, следующий фрагмент кода иллюстрирует возможность пропуска лексемы" пропустить " в процессе анализа входного потока данных:

while (!stream.eof()) {

 token = stream.next();

if (tоkеn.еquаls("пропустить"))

continue;

// обработка других лексем … }

 

Именованная команда continue способна прервать выполнение внутренних циклов любого уровня вложенности и инициировать новую итерацию внешнего цикла, снабженного меткой. Упомянутый выше пример не требует использования именованного варианта continue, поскольку в данном случае существует только один цикл. Рассмотрим конструкцию из вложенных циклов, позволяющих просматривать и обрабатывать элементы двумерной матрицы matriх. Предположим, что матрица симметрична, Т.е. ее элементы удовлетворяют условию matrix[i] [j] == matrix[j] [i]. В подобной ситуации достаточно обращаться только к элементам из одной половины матрицы. Ниже приведен пример метода, предусматривающего возможность удвоения значений элементов симметричной матрицы:

static void doubleUp(int[][] matrix) {

 int order = matrix.length;

column:

for (int i =0; i < order; i++) {

 for (int j =0; j < order; j++) {

matrix[i][j] = matrix[j][i] = matrix[i][j]*2; if (; == j)

continue column;

                               }

                }

}

Каждый раз по достижении диагонального элемента текущей строки управление передается в конец тела внешнего цикла и выполняется его очередная итерация.

 

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии