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

Каков наилучший способ выхода / завершения цикла while в Java?

Например, мой код в настоящее время выглядит следующим образом:

while(true){ if(obj == null){ // I need to exit here } } 

Используйте break :

 while (true) { .... if (obj == null) { break; } .... } 

Однако, если ваш код выглядит так, как вы указали, вы можете использовать обычный цикл while и изменить условие на obj != null :

 while (obj != null) { .... } 
 while(obj != null){ // statements. } 

break – это то, что вы ищете:

 while (true) { if (obj == null) break; } 

Альтернативно, реструктурируйте свою петлю:

 while (obj != null) { // do stuff } 

или:

 do { // do stuff } while (obj != null); 

Найти какое- while...do построить с while(true) в моем коде, чтобы мои глаза кровоточили. Вместо этого используйте стандартный цикл while:

 while (obj != null){ ... } 

И взгляните на ссылку, предоставленную Якоби в его ответе , и этот тоже. Шутки в сторону.

Операции while и do-while

Взгляните на учебники Java ™ от Oracle.

Но в основном, как сказал dacwe , используйте break .

Если вы можете, часто бывает проще избежать использования break и поставить проверку как условие цикла while или использовать что-то вроде цикла while. Однако это не всегда возможно.

Вы можете выполнить несколько логических тестов состояния в рамках проверки while (), используя те же правила, что и в любой логической проверке.

 while ( obj != null ) { // do stuff } 

работает, как и

 while ( value > 5 && value < 10 ) { // do stuff } 

действительны. Условные проверяются на каждой итерации по петле. Как только один не будет соответствовать, цикл while () будет завершен. Вы также можете использовать break;

 while ( value > 5 ) { if ( value > 10 ) { break; } ... } 

Вы можете использовать «break», уже упомянутый в ответах выше. Если вам нужно вернуть некоторые значения. Вы можете использовать «return», как показано ниже:

  while(true){ if(some condition){ do something; return;} else{ do something; return;} } в  while(true){ if(some condition){ do something; return;} else{ do something; return;} } 

в этом случае это пока находится под методом, возвращающим какие-то значения.

если вы пишете while (true) . это означает, что цикл не остановится в любой ситуации, чтобы остановить этот цикл, вам нужно использовать оператор break между while block.

 package com.java.demo; /** * @author Ankit Sood Apr 20, 2017 */ public class Demo { /** * The main method. * * @param args * the arguments */ public static void main(String[] args) { /* Initialize while loop */ while (true) { /* * You have to declare some condition to stop while loop * In which situation or condition you want to terminate while loop. * conditions like: if(condition){break}, if(var==10){break} etc... */ /* break keyword is for stop while loop */ break; } } } 
  • Какая петля быстрее, пока или для?
  • Почему «while (! Feof (file))« всегда неправильно?
  • Проверка входного сигнала сканера во время цикла
  • Цитирование через поиск в Bash, где имя файла содержит пробелы
  • Проверить петли сверху или снизу? (while vs. do while)
  • Что такое исключение NumberFormatException и как его исправить?
  • Как заменить циклы с альтернативным функциональным программированием без оптимизации хвостового вызова?
  • Пока или регенерация хвоста в F #, что использовать когда?
  • Чтение ввода в bash внутри цикла while
  • Java для цикла против цикла while. Разница в производительности?
  • Переменная, измененная внутри цикла while, не запоминается
  • Давайте будем гением компьютера.