Я впервые увидел это ключевое слово, и мне было интересно, может ли кто-нибудь объяснить мне, что оно делает.
- Какое
continue
ключевое слово? - Как это работает?
- Когда это используется?
continue
Заявление без этикетки будет переоформить от состояния самих внутреннего while
или do
петли, и из выражения обновления самого внутреннего for
цикла. Он часто используется для раннего завершения обработки цикла и, таким образом, для избежания глубоко вложенных if
операторов. В следующем примере continue
будет получена следующая строка без обработки следующего оператора в цикле.
while (getNext(line)) {
if (line.isEmpty() || line.isComment())
continue;
// More code here
}
С меткой continue
будет повторно выполняться из цикла с соответствующей меткой, а не из самого внутреннего цикла. Это может быть использовано для избежания глубоко вложенных циклов или просто для ясности.
Иногда continue
также используется в качестве заполнителя, чтобы сделать тело пустого цикла более понятным.
for (count = 0; foo.moreData(); count++)
continue;
То же утверждение без метки также существует в C и C ++. Эквивалент в Perl есть next
.
Этот тип потока управления не рекомендуется, но если вы решите, вы также можете использовать его continue
для имитации ограниченной формы goto
. В следующем примере continue
будет повторно выполнен пустой for (;;)
цикл.
aLoopName: for (;;) {
// ...
while (someCondition)
// ...
if (otherCondition)
continue aLoopName;
continue
вроде как goto
. Вы знакомы с break
? Легче думать о них в отличие
break
завершает цикл (переходит к коду под ним).
continue
завершает остальную часть обработки кода в цикле для текущей итерации, но продолжает цикл.
Давайте посмотрим на пример:
Это позволит получить сумму только нечетных чисел от 1 до 100.
источник
Если вы думаете о теле цикла как о подпрограмме,
continue
это вроде какreturn
. Такое же ключевое слово существует в C и служит для той же цели. Вот надуманный пример:Это распечатает только нечетные числа.
источник
Как правило, я вижу
continue
(иbreak
) как предупреждение о том, что код может использовать некоторый рефакторинг, особенно если объявление циклаwhile
orfor
не сразу видно. То же самое верно дляreturn
середины метода, но по несколько иной причине.Как уже говорили другие,
continue
переходит к следующей итерации цикла, аbreak
выходит из замкнутого цикла.Это могут быть временные бомбы обслуживания, потому что нет прямой связи между
continue
/break
и циклом, который он продолжает / прерывает, кроме контекста; добавьте внутренний цикл или переместите «кишки» цикла в отдельный метод, и вы получите скрытый эффектcontinue
/break
failing.ИМХО, лучше использовать их в качестве крайней меры, а затем убедиться, что их использование тесно сгруппировано в начале или конце цикла, чтобы следующий разработчик мог видеть «границы» цикла на одном экране ,
continue
,break
иreturn
(кроме «Единого истинного возврата» в конце вашего метода) все попадают в общую категорию «скрытых GOTO». Они помещают управление циклами и функциями в неожиданные места, что в конечном итоге приводит к ошибкам.источник
«продолжить» в Java означает перейти к концу текущего цикла, означает: если компилятор увидит продолжение в цикле, он перейдет к следующей итерации
Пример: это код для печати нечетных чисел от 1 до 10
компилятор будет игнорировать код печати всякий раз, когда видит, что он продолжает переходить к следующей итерации
источник
Как уже упоминалось,
continue
будет пропущена обработка кода ниже и до конца цикла. Затем вы переходите к условию цикла и запускаете следующую итерацию, если это условие все еще выполняется (или если есть флаг, к условию обозначенного цикла).Следует подчеркнуть, что в случае
do - while
вы перешли к условию внизу после acontinue
, а не в начале цикла.Вот почему многие люди не могут правильно ответить на то, что сгенерирует следующий код.
* Если ваш ответ
aSet
будет содержать нечетные числа только 100% ... вы не правы!источник
Continue - это ключевое слово в Java, которое используется для пропуска текущей итерации.
Предположим, вы хотите распечатать все нечетные числа от 1 до 100
Оператор continue в приведенной выше программе просто пропускает итерацию, когда i четное, и печатает значение i, если оно нечетное.
Оператор Continue просто выводит вас из цикла без выполнения остальных операторов внутри цикла и запускает следующую итерацию.
источник
Рассмотрим условие If Else. Оператор continue выполняет то, что есть в условии, и выходит из условия, т.е. переходит к следующей итерации или условию. Но перерыв выходит из цикла. Рассмотрим следующую программу. '
Будет напечатано: aa cc Out of the loop.
Если вы используете break вместо continue (After if.), Это просто aa и выходит из цикла .
Если условие "bb" равно ss выполняется: Для продолжения: переход к следующей итерации, т.е. "cc" .equals (ss). Для разрыва: он выходит из цикла и печатает «Из цикла».
источник
break
Я немного опоздал на вечеринку, но ...
Стоит отметить, что
continue
это полезно для пустых циклов, где вся работа выполняется в условном выражении, управляющем циклом. Например:В этом случае вся работа по чтению символа и добавлению его
buffer
выполняется в выражении, управляющемwhile
циклом.continue
Заявление служит визуальным индикатором , что петля не нужно тело.Это немного более очевидно, чем эквивалент:
и определенно лучший (и более безопасный) стиль кодирования, чем использование пустого выражения вроде:
источник
while
станет теломwhile
предложения, и которое не было бы визуально очевидно. Явноеcontinue
очевидно и выражает намерение, которого нет в пустом утверждении.В основном в Java, продолжить это утверждение. Поэтому оператор continue обычно используется с циклами для пропуска текущей итерации.
Как и когда он используется в Java, смотрите ссылку ниже. У него есть объяснение с примером.
https://www.flowerbrackets.com/continue-java-example/
Надеюсь, поможет !!
источник
continue
должен быть внутри цикла, иначе он показывает ошибку ниже:источник
Оператор continue используется в структуре управления циклом, когда вам нужно сразу перейти к следующей итерации цикла.
Может использоваться с циклом for или while. Оператор Java continue используется для продолжения цикла. Он продолжает текущий поток программы и пропускает оставшийся код при указанном условии.
В случае внутреннего цикла он продолжает только внутренний цикл.
Мы можем использовать оператор Java continue во всех типах циклов, таких как цикл for, while и do-while.
например
вывод:
[номер 5 пропущен]
источник