while salir repetir mientras infinito hacer explicacion ejercicios detener condicion como ciclo bucle java while-loop

java - salir - ¿Hay una manera de romper un bucle while antes de que la condición original se haga falsa?



explicacion del ciclo while en java (8)

¿Hay una manera de romper un bucle while antes de que la condición original se haga falsa?

por ejemplo si tengo:

while (a==true) { doSomething() ; if (d==false) get out of loop ; doSomething_that_i_don''t_want_done_if_d_is_false_but_do_if_a_and_d_are_true() ; }

¿Hay alguna manera de hacer esto?


Haga lo siguiente: Note la inclusión de llaves - su buena práctica de programación.

while (a==true) { doSomething() ; if (d==false) { break ; } else { /* Do something else */ } }


Prueba esto:

if(d==false) break;

Esto se denomina una declaración de interrupción "sin etiquetar", y su propósito es terminar los bucles while , for y do-while while.

Referencia aquí .


Sí, use la instrucción break .

while (a==true) { doSomething() ; if (d==false) break; doSomething_that_i_don''t_want_done_if_d_is_false_but_do_if_a_and_d_are_true() ; }


Utilice la instrucción break .

if (!d) break;

Tenga en cuenta que no es necesario que compare con true o false en una expresión booleana.



break es el comando que estás buscando.

Y no te compares con las constantes booleanas, en realidad solo oscurece tu significado. Aquí hay una versión alternativa:

while (a) { doSomething(); if (!d) break; doSomething_that_i_don''t_want_done_if_d_is_false_but_do_if_a_and_d_are_true(); }


while ( doSomething() && doSomethingElse() );

cambie la firma de retorno de sus métodos de manera que d==doSomething() y a==doSomethingElse() . Ya deben tener efectos secundarios si su bucle alguna vez se escapa.

Si necesita una prueba inicial de tal valor para iniciar o no el ciclo, puede lanzar un if en el frente.


while(a) { doSomething(); if(!d) { break; } }