Come si esce da un ciclo while in Java?


86

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:


184

Usa break:

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

Tuttavia, se il codice è esattamente come specificato, è possibile utilizzare un whileciclo normale e modificare la condizione in obj != null:

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

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

7

break è quello che stai cercando:

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

in alternativa, ristruttura il tuo loop:

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

o:

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


3

È 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; }  
    ...  
}  

2

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.


questa è la risposta esatta e usfeul!
Noor Hossain

2

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.


0

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;
        }
    }
}

0

È possibile utilizzare "break" per interrompere il ciclo, che non consentirà al ciclo di elaborare più condizioni


0

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.