Как выйти из цикла while java
Перейти к содержимому

Как выйти из цикла while java

  • автор:

Branching Statements

The break statement has two forms: labeled and unlabeled. You saw the unlabeled form in the previous discussion of the switch statement. You can also use an unlabeled break to terminate a for , while , or do-while loop, as shown in the following BreakDemo program:

This program searches for the number 12 in an array. The break statement, shown in boldface, terminates the for loop when that value is found. Control flow then transfers to the statement after the for loop. This program's output is:

An unlabeled break statement terminates the innermost switch , for , while , or do-while statement, but a labeled break terminates an outer statement. The following program, BreakWithLabelDemo , is similar to the previous program, but uses nested for loops to search for a value in a two-dimensional array. When the value is found, a labeled break terminates the outer for loop (labeled "search"):

This is the output of the program.

The break statement terminates the labeled statement; it does not transfer the flow of control to the label. Control flow is transferred to the statement immediately following the labeled (terminated) statement.

The continue Statement

The continue statement skips the current iteration of a for , while , or do-while loop. The unlabeled form skips to the end of the innermost loop's body and evaluates the boolean expression that controls the loop. The following program, ContinueDemo , steps through a String , counting the occurrences of the letter "p". If the current character is not a p, the continue statement skips the rest of the loop and proceeds to the next character. If it is a "p", the program increments the letter count.

Here is the output of this program:

To see this effect more clearly, try removing the continue statement and recompiling. When you run the program again, the count will be wrong, saying that it found 35 p's instead of 9.

A labeled continue statement skips the current iteration of an outer loop marked with the given label. The following example program, ContinueWithLabelDemo , uses nested loops to search for a substring within another string. Two nested loops are required: one to iterate over the substring and one to iterate over the string being searched. The following program, ContinueWithLabelDemo , uses the labeled form of continue to skip an iteration in the outer loop.

Here is the output from this program.

The return Statement

The last of the branching statements is the return statement. The return statement exits from the current method, and control flow returns to where the method was invoked. The return statement has two forms: one that returns a value, and one that doesn't. To return a value, simply put the value (or an expression that calculates the value) after the return keyword.

The data type of the returned value must match the type of the method's declared return value. When a method is declared void , use the form of return that doesn't return a value.

The Classes and Objects lesson will cover everything you need to know about writing methods.

Выход из цикла while в Java

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

Цикл while — это один из циклов Java, используемых для итерации или повторения операторов до тех пор, пока они не будут соответствовать указанному условию. Чтобы выйти из цикла while, вы можете использовать следующие методы:

  • Выход после завершения цикла в обычном режиме
  • Выйти с помощью оператора break
  • Выйти с помощью оператора return

Выйти из цикла while после завершения выполнения программы на Java

Этот метод представляет собой простой пример, в котором цикл while завершается сам по себе после того, как указанное условие помечается как false .

Цикл while выполняется повторно до тех пор, пока указанное условие не станет true , и завершится, если условие false . См. Пример ниже, где мы перебираем элементы списка с помощью цикла while и получаем выход из цикла, когда все элементы пройдены.

Выйдите из цикла while с помощью break в Java

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

How do I exit a while loop in Java?

What is the best way to exit/terminate a while loop in Java?

For example, my code is currently as follows:

BalaB's user avatar

10 Answers 10

However, if your code looks exactly like you have specified you can use a normal while loop and change the condition to obj != null :

break is what you’re looking for:

alternatively, restructure your loop:

Finding a while. do construct with while(true) in my code would make my eyes bleed. Use a standard while loop instead:

And take a look at the link Yacoby provided in his answer, and this one too. Seriously.

Xavi López's user avatar

You can do multiple condition logical tests within the while() check using the same rules as within any logical check.

are valid. The conditionals are checked on each iteration through the loop. As soon as one doesn’t match, the while() loop is exited. You can also use break;

Операторы перехода break, continue, return

В 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, а потом условному выражению. При этом во всех циклах промежуточный код пропускается.

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

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

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

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

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

Оператор return

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *