Подтвердить что ты не робот

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

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

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

while(true){
    if(obj == null){

        // I need to exit here

    }
}
4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

Ответ 3

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

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

реструктурируйте свою петлю:

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

или

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

Ответ 4

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

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

И посмотрите ссылку Yacoby, предоставленную в его , и этот тоже. Шутки в сторону.

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

Ответ 5

Взгляните на Java ™ Tutorials от Oracle.

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

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

Ответ 6

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

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

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

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

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

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

Ответ 7

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

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

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

Ответ 8

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

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;

    }
    }

}