it-swarm.dev

Come posso uscire da un ciclo while in Java?

Qual è il modo migliore per uscire/terminare un ciclo while in Java?

Ad esempio, il mio codice è attualmente come segue:

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

        // I need to exit here

    }
}
73
BalaB

Usa break :

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

Tuttavia, se il tuo codice sembra esattamente come hai specificato puoi usare un normale ciclo while e cambiare la condizione in obj != null:

while (obj != null) {
    ....
}
167
dacwe
while(obj != null){
  // statements.
}
6
Dev

break è quello che stai cercando:

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

in alternativa, ristruttura il tuo ciclo:

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

o:

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

Trovare un costrutto while...do con while(true) nel mio codice mi farebbe sanguinare gli occhi. Utilizza invece un ciclo standard while:

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

E dai un'occhiata al link che Yacoby ha fornito nel suo answer , e anche questo. Sul serio.

Istruzioni while e do-while

3
Xavi López

È possibile eseguire test logici con più condizioni all'interno del 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 ogni iterazione attraverso il ciclo. Non appena uno non corrisponde, il ciclo while () viene chiuso. Puoi anche usare la pausa;

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

Dai un'occhiata a Java ™ Tutorials di Oracle.

Ma fondamentalmente, come dacwe said , usa break.

Se puoi, è spesso più chiaro evitare di usare break e mettere il check come una condizione del ciclo while, o usare qualcosa come un do while loop. Questo non è sempre possibile però.

2
Yacoby

se scrivi while (true). ciò significa che il ciclo non si fermerà in nessuna situazione per fermare questo ciclo, devi usare l'istruzione break tra un blocco e l'altro.

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
Ankit Sood

Puoi usare "break", già menzionato nelle risposte sopra. Se è necessario restituire alcuni valori. Puoi usare "return" come il seguente codice:

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

in questo caso, mentre si trova in un metodo che restituisce alcuni tipi di valori.

0