Qual è il modo migliore per uscire / terminare un ciclo while in Java?
Ad esempio, il mio codice è attualmente il seguente:
while(true){
if(obj == null){
// I need to exit here
}
}
Risposte:
Trovare un while...do
costrutto while(true)
nel mio codice mi farebbe sanguinare gli occhi. Usa invece un while
ciclo standard :
while (obj != null){
...
}
E dai un'occhiata al link fornito da Yacoby nella sua risposta , e anche questo. Sul serio.
È possibile eseguire più test logici di condizione nel controllo while () utilizzando le stesse regole di qualsiasi controllo logico.
while ( obj != null ) {
// do stuff
}
funziona, così come
while ( value > 5 && value < 10 ) {
// do stuff
}
sono validi. I condizionali vengono controllati ad ogni iterazione del ciclo. Non appena uno non corrisponde, il ciclo while () viene chiuso. Puoi anche usare break;
while ( value > 5 ) {
if ( value > 10 ) { break; }
...
}
Puoi usare "break", già menzionato nelle risposte sopra. Se devi restituire alcuni valori. Puoi usare "return" come il codice seguente:
while(true){
if(some condition){
do something;
return;}
else{
do something;
return;}
}
in questo caso, questo mentre è in un metodo che restituisce un qualche tipo di valori.
Dai un'occhiata ai tutorial Java ™ di Oracle.
Ma fondamentalmente, come ha detto dacwe , usa break
.
Se puoi, è spesso più chiaro evitare di usare break and put the check come condizione del ciclo while, o usare qualcosa come un ciclo do while. Questo però non è sempre possibile.
se scrivi while (true) . significa che il ciclo non si fermerà in nessuna situazione per fermare questo ciclo devi usare l'istruzione break tra il blocco 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;
}
}
}
È possibile utilizzare "break" per interrompere il ciclo, che non consentirà al ciclo di elaborare più condizioni
Per uscire da un ciclo while, usa Break;
Questo non permetterà al ciclo di elaborare le condizioni che sono poste all'interno, assicurati di averlo all'interno del ciclo, poiché non puoi posizionarlo fuori dal ciclo