No Image

Break с меткой java

СОДЕРЖАНИЕ
260 просмотров
10 марта 2020

В Java есть три оператора перехода: break, continue, return. Операторы перехода передают управление другой части программы.

Оператор break

Оператор break завершает последовательность операторов в операторе switch, позволяет выйти из цикла и в качестве оператора безусловного перехода (goto).

Рассмотрим пример выхода из цикла. Используя оператор break, можно вызвать немедленное завершение цикла, пропуская условное выражение и другой код в теле цикла. Когда приложение встречает оператор break внутри цикла, оно прекращает выполнение цикла и передаёт управление оператору, следующему за циклом.

Получим следующий результат:

Вроде хотели, чтобы цикл for выполнялся от 0 до 100, а сами коварно вышли из него, когда значение переменной i стало равным 4.

Код можно переписать с использованием цикла while:

Результат будет такой же.

При использовании вложенных циклов оператор break осуществляет выход только из самого внутреннего цикла, не оказывая влияния на внешний цикл. Создадим пример с использованием вложенных циклов:

Получим следующий результат:

В примере оператор break прервал выполнение второго цикла, но первый цикл продолжал работать.

В цикле можно использовать несколько операторов break, но увлекаться не стоит. Лучше переделайте код.

break как замена goto

В Java нет оператора безусловного перехода goto. Если вы не знаете, что это такое, то можете смело пропустить данный абзац. У оператора break есть особая форма записи:

Обычно метка – это имя метки, идентифицирующей блок кода. Я ни разу не встречал в реальных примерах данный способ, поэтому не буду приводить пример использования, чтобы вас не запутать.

Оператор continue

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

Читайте также:  Kepler bios tweaker инструкция

В следующем примере выводим два числа в каждой строке:

В этом коде оператор % служит для проверки чётности значения переменной i. Если значение чётное, выполнение цикла продолжится дальше, а если нечётное, то произойдёт переход на новую строку. В результате мы получим следующий текст:

Как и оператор break, оператор continue может содержать метку содержащего его цикла, который нужно продолжить. Создадим пример вывода треугольной таблицы умножения чисел от 0 до 9.

В этом примере оператор continue прерывает цикл подсчёта значений переменной j и продолжает его со следующей итерации цикла подсчёта переменной i. На экране увидим текст в таком виде:

Данный оператор в практике встречается достаточно редко. Но на всякий случай помните о нём. Иногда он может пригодиться.

Оператор return

Оператор return используют для выполнения явного выхода из метода. Оператор можно использовать в любом месте метода для возврата управления тому объекту, который вызвал данный метод. Таким образом, return прекращает выполнение метода, в котором он находится.

Вот смотрю пример кода и нашел тут вот такое

Так вот первый раз вижу вот такое условие

и потом это как то привязано к строке ниже

подскажите как это работает или где есть что почитать?

1 ответ 1

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

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

Здесь он используется для выхода из вложенного цикла (из 5-го уровня происходит переход сразу к циклу первого уровня).

Читайте также:  Самсунг галакси а3 как поменять батарею

Прочитать можно в любом пособии по Java.

Вывод на консоль:

PS. break label следует использовать только при крайней необходимости, так как он затрудняет восприятие кода.

Оператор языка Java break, может применяться в следующих случаях:

  • Для завершения последовательности операторов в операторе switch , что было рассмотрено в Оператор switch.
  • Его можно использовать для выхода из цикла.
  • Можно применять в качестве "цивилизованной" формы оператора безусловного перехода goto .

Применение оператора break для выхода из цикла

Рассмотрим пример применения оператора break для выхода из цикла while . По условию цикла while , цикл должен выполниться 100 раз. Если в случае какой-то непредвиденной ситуации мы хотим выйти раньше, используется оператор break.

Следует отметить, что оператор break не предназначен в качестве обычного средства выхода из цикла. Для этого служит условное выражение в цикле. Этот оператор следует использовать для выхода из цикла только в особых случаях. Также оператор break следует использовать только внутри цикла.

Применение оператора break для выхода из внутреннего цикла

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

Результат выполнения программы:

В цикле можно использовать больше одного оператора break, но лучше этого не делать.

Оператор break с меткой

Рассмотрим применение оператора break с меткой. Этот вариант может использоваться в качестве цивилизованной формы оператора goto , которого нет в языке Java в отличие от некоторых других языков программирования.

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

Применение break с меткой для выхода из вложенных циклов

В следующем коде три блока кода отмечены метками first , second , third . При достижении строки break second; мы выходим из блока second .

Читайте также:  Windows 10 ent ltsb

Результат выполнения кода:

Часто break c меткой используется для выхода из внутреннего цикла, как показано в этом примере:

Комментировать
260 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector