¿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:
Encontrar una while...do
construcción while(true)
en mi código me haría sangrar los ojos. En su lugar, use un while
bucle estándar :
while (obj != null){
...
}
Y eche un vistazo al enlace que Yacoby proporcionó en su respuesta , y este también. Seriamente.
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; }
...
}
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.
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.
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;
}
}
}
Puede usar "romper" para romper el ciclo, lo que no permitirá que el ciclo procese más condiciones
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