Рекомендуем, 2020

Выбор редакции

Разница между перерывом и продолжением

И «break», и «continue» являются операторами «jump», которые передают управление программой другой части программы. C ++ поддерживает четыре оператора перехода, а именно: «return», «goto», «break» и «continue». Java поддерживает три оператора перехода: break, continue и return. Основное различие между break и continue заключается в том, что break используется для немедленного завершения цикла, тогда как continue завершает текущую итерацию и возвращает управление к следующей итерации цикла. Давайте изучим разницу между break и continue в контексте C ++ и Java.

Сравнительная таблица:

Основа для сравненияперерывПродолжить
задача
Завершает выполнение оставшейся итерации цикла.Он завершает только текущую итерацию цикла.
Контроль после перерыва / продолжить«break» возобновляет управление программой до конца цикла, в который входит «break».«continue» возобновляет управление программой до следующей итерации этого цикла, включающего «continue».
причиныЭто вызывает раннее завершение цикла.Это вызывает раннее выполнение следующей итерации.
продолжение'break' останавливает продолжение цикла.'continue' не останавливает продолжение цикла, оно только останавливает текущую итерацию.
Другое использование«break» можно использовать с «switch», «label».«continue» не может быть выполнен с «switch» и «label».

Определение разрыва

В C ++ break используется только в двух случаях, т. Е. Во-первых, он используется для «завершения выполнения регистра в операторе switch». Во-вторых, «завершить цикл и возобновить управление до следующего оператора, следующего за циклом». Но в Java break имеет три применения: во-первых, он завершает регистр в коммутаторе, во-вторых, чтобы завершить цикл, содержащий разрыв, и в-третьих, как уже упоминалось ранее, Java не предоставляет оператор goto, но расширенный разрыв формы можно использовать в место "гото".

Давайте посмотрим, каждое использование «перерыв» в деталях.

Сначала используйте, чтобы прекратить выполнение case в switch. Разрыв в переключателе влияет только на тот переключатель, который его охватывает, он не влияет на контур, охватывающий переключатель.

 // В контексте C ++. // используя break в switch в контексте C ++. switch (целочисленное выражение) {case 1: ..... ..... break; случай 2: ..... ..... перерыв; случай 3: ..... ..... перерыв; дефолт: ....... ....... } 

Во-вторых, принудительно завершить цикл и возобновить выполнение следующего оператора цикла. Как только оператор break встречается внутри цикла, этот цикл немедленно завершается без выполнения оставшегося кода в теле этого цикла, и управление программой достигает следующего оператора, записанного после этого цикла.

 // использование break для выхода из цикла в контексте в класс Java main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {system.out.println ("i:" + я); если (я == 10) перерыва; // как условие внутри элемента if, удовлетворяет элементу управления, выходящему из цикла for. } system.out.println («Обрывы цикла здесь»); }} 

break только позволяет программе выйти из цикла, который ее заключает. Если разрыв используется с вложенным циклом, он разрывает только самый внутренний цикл и не влияет на внешний цикл.

Третье использование, используя перерыв как форму goto. Java использует break как форму goto без проблем. Поскольку goto обеспечивает неструктурированное ветвление, которое трудно понять, а также goto запрещает оптимизацию компилятора, Java использует расширенную форму разрыва, которая аналогична goto и помогает выходить более чем из одного блока за раз и возобновлять управление программой для конец помеченного блока, упомянутый с оператором break.

Декларация:

 разбить ярлык; 

Здесь «метка» - это имя определенного блока кода или идентификатора в Java, и этот помеченный блок должен содержать оператор break. Помеченный оператор break используется для выхода из набора вложенных циклов. Когда встречается помеченный оператор break, элемент управления выходит из помеченного блока, который упоминается в операторе break.
Давайте посмотрим это практически.

 // использование break в качестве формы перехода в контексте к классу Java main_class {public static void main (string args []) {boolean t = true; first {second {third {system.out.println ("этот третий блок"); если (т) сломаться первым; } system.out.println («этот второй блок»); } system.out.println («этот первый блок»); } system.out.println («этот основной блок»); }} // output: это третий блок, это основной блок 

В этом коде, когда элемент управления достигает третьего блока, выполняется его оператор print, и после этого элемент управления возвращается к оператору 'if', и, когда он выполняется, выполняется оператор break с меткой. Метка, прикрепленная с помощью break, является первой, поэтому управление возобновляется к оператору, записанному после конца блока, то есть в основном блоке, который является оператором print и выполняется.

Определение продолжения

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

Давайте разберемся с этим на примере.

 // использование продолжения в контексте C ++. // выводит четное число до 100. class main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {if (i% 2! = 0) continue; // продолжить возобновление управления до следующей итерации цикла for system.out.println ("i:" + i); }}} 

В вышеприведенной программе, если выполняется оператор if, выполняется оператор continue, который не позволяет выполнить следующий оператор print и возобновить управление до следующей итерации цикла for. Если i = 1, то условие «если» выполнено, и выполняется продолжение, без выполнения оператора print для нечетного значения «i» и, управление возвращается к следующей итерации цикла «для i = 2». Если i = 2, то утверждение «если» не выполняется; continue не выполняется, и оператор print печатает значение 'i', которое является четным.

Ключевые различия между Break и Continue

  1. По сути, ключевое слово break завершает оставшиеся итерации цикла. С другой стороны, ключевое слово continue завершает только текущую итерацию цикла.
  2. После выполнения ключевого слова break управление программы выходит из цикла и возвращается к следующему оператору после цикла. В случае ключевого слова continue управление программой возобновляется до следующей итерации цикла.
  3. Как и на предыдущем шаге, делается вывод, что после выполнения управления прерыванием выхода программы из цикла становится ясно, что разрыв вызывает преждевременное завершение любого цикла. С другой стороны, продолжить только завершить текущую итерацию и вернуться к следующей итерации цикла, тогда мы можем сказать, что продолжение вызывает раннее выполнение следующей итерации цикла.
  4. Ключевое слово break завершает все оставшиеся итерации после его выполнения, поэтому мы можем сказать, что оно останавливает продолжение цикла, тогда как ключевое слово continue все еще продолжает выполнение цикла.
  5. Ключевое слово break можно использовать вместе с операторами «switch» и «label», тогда как ключевое слово continue нельзя использовать с «switch» и «label».

Заключение:

Операторы break и continue оба являются оператором jump, который передает управление другой части программы. Если оператор break позволяет элементу управления выйти из цикла, оператор continue позволяет элементу управления перейти к следующей итерации этого цикла.

Top