¿Cómo salgo de un bucle while en Java?


86

¿Cuál es la mejor manera de salir / terminar un bucle while en Java?

Por ejemplo, mi código es actualmente el siguiente:

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

        // I need to exit here

    }
}

Respuestas:


184

Utilizar break:

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

Sin embargo, si su código se ve exactamente como lo ha especificado, puede usar un whileciclo normal y cambiar la condición a obj != null:

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

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

7

break es lo que estas buscando:

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

alternativamente, reestructura tu bucle:

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

o:

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

3

Encontrar una while...doconstrucción while(true)en mi código me haría sangrar los ojos. En su lugar, use un whilebucle estándar :

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

Y eche un vistazo al enlace que Yacoby proporcionó en su respuesta , y este también. Seriamente.

Las declaraciones while y do-while


3

Puede realizar varias pruebas lógicas de condición dentro de la verificación while () utilizando las mismas reglas que en cualquier verificación lógica.

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

funciona, como lo hace

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

son validos. Los condicionales se comprueban en cada iteración del ciclo. Tan pronto como uno no coincida, se sale del bucle while (). También puede utilizar el descanso;

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

2

Puede utilizar "descanso", ya mencionado en las respuestas anteriores. Si necesita devolver algunos valores. Puede usar "return" como el siguiente código:

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

en este caso, este while está en un método que devuelve algún tipo de valores.


esta es la respuesta exacta y útil!
Noor Hossain

2

Eche un vistazo a los tutoriales de Java ™ de Oracle.

Pero básicamente, como dijo Dacwe , use break.

Si puede, a menudo es más claro evitar usar romper y poner la marca como condición del ciclo while, o usar algo como un ciclo do while. Sin embargo, esto no siempre es posible.


0

si escribe while (verdadero) . esto significa que el bucle no se detendrá en ninguna situación para detener este bucle, debe usar la instrucción break entre el bloque 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

Puede usar "romper" para romper el ciclo, lo que no permitirá que el ciclo procese más condiciones


0

Para salir de un ciclo while, use Break;Esto no permitirá que el ciclo procese ninguna condición que se coloque dentro, asegúrese de tener esto dentro del ciclo, ya que no puede colocarlo fuera del ciclo

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.