2011-10-31 12 views
55

¿Cuál es la mejor forma de salir/terminar un ciclo while en Java?¿Cómo salgo de un ciclo while en Java?

Por ejemplo, mi código es actualmente de la siguiente manera:

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

     // I need to exit here 

    } 
} 
+29

break; pero en serio, deberías estudiar un poco más los conceptos básicos. – stivlo

+6

-1 Sin esfuerzo de búsqueda ... –

+23

Dado que aparentemente este no es un duplicado, realmente lo llamaría una buena pregunta. Encontrar esto es mucho más placentero que tener que ordenar algunos tutoriales de Java de los 90. – twiz

Respuesta

136

Uso break:

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

Sin embargo, si su código es exactamente como se ha especificado puede utilizar un lazo normal while y cambie la condición a obj != null:

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

Gracias chicos, ya que obj estaba usando dentro del ciclo, necesito usar el primero mientras (verdadero). Muchas gracias por tus sugerencias. Gracias ... – BalaB

+8

@bala si la respuesta ha resuelto su problema, márquelo como aceptado para ayudar a otras personas que puedan encontrarse con la pregunta. – glosrob

+0

@BalaB aún no aceptado? –

2

Eche un vistazo a Java™ Tutorials de Oracle.

Pero básicamente, como dacwe said, use break.

Si puede, a menudo es más claro evitar el uso de break y poner el cheque como una condición del ciclo while, o usar algo así como un ciclo while. Esto no siempre es posible sin embargo.

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

break es lo que está buscando:

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

alternativamente, reestructurar su bucle:

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

o:

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

Encontrar un while...do construir con while(true) en mi código me haría sangrar los ojos. Utilizar un bucle estándar while lugar:

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

Y echar un vistazo a la Yacoby enlace que aparece en su answer, y éste también. Seriamente.

The while and do-while Statements

1

Puede hacer varias pruebas lógicas de condiciones dentro del control, mientras que() utilizando las mismas reglas que en ninguna verificación de lógica.

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

obras, al igual que

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

son válidos. Los condicionales se controlan en cada iteración a través del ciclo. Tan pronto como uno no coincida, se saldrá el ciclo while(). También puedes usar break;

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

Puede utilizar "break", ya mencionado en las respuestas anteriores. Si necesita devolver algunos valoresPuede utilizar "retorno" como el código de abajo:

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

en este caso, esto mientras está en menos de un método que se vuelve una especie de valores.

0

si escribe mientras que (verdadero). esto significa que el bucle no se detendrá en ninguna situación para detener este ciclo, tiene que usar la declaración de interrupción entre bloque y bloque.

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; 

    } 
    } 

} 
Cuestiones relacionadas