Як вийти з циклу while у Java?


86

Який найкращий спосіб вийти / завершити цикл while у Java?

Наприклад, мій код зараз такий:

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

        // I need to exit here

    }
}

Відповіді:


184

Використання break:

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

Однак, якщо ваш код виглядає точно так, як ви вказали, ви можете використовувати звичайний whileцикл і змінити умову на obj != null:

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


7

break це те, що ви шукаєте:

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

або ж реструктуризуйте свій цикл:

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

або:

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

3

Пошук while...doконструкції з while(true)у моєму коді змусив би мої очі кровоточити. whileЗамість цього використовуйте стандартний цикл:

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

І подивіться на посилання, яке Yacoby надав у своїй відповіді , і це теж. Серйозно.

Заяви while і do-while


3

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

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

працює, як робить

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

є дійсними. Умовні умови перевіряються на кожній ітерації через цикл. Як тільки один не збігається, цикл while () виходить. Ви також можете використовувати перерву;

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

2

Ви можете використовувати "перерву", про яку вже згадувалося у відповідях вище. Якщо вам потрібно повернути деякі значення. Ви можете використовувати "return" як код нижче:

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

у цьому випадку це в той час як під методом, який повертає якісь значення.


це точна і usfeul відповідь!
Нур Хоссен

2

Погляньте на підручники Java ™ від Oracle.

Але в основному, як сказав dacwe , використовуйте break.

Якщо ви можете, часто зрозуміліше уникати використання break і ставити перевірку як умову циклу while, або використовувати щось на зразок циклу do while. Однак це не завжди можливо.


0

якщо ви пишете while (true) . це означає, що цикл не зупиниться в будь-якій ситуації; для зупинки цього циклу потрібно використовувати оператор break між блоком while.

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;
        }
    }
}

0

Ви можете використовувати "break", щоб розірвати цикл, що не дозволить циклу обробити більше умов


0

Щоб вийти з циклу while, використовуйте Break;Це не дозволить циклу обробляти будь-які умови, розміщені всередині, переконайтеся, що це всередині циклу, оскільки ви не можете розмістити його поза циклом

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.