Die do-while-Schleife führt wiederholt Anweisungen abhängig von der Prüfung einer Bedingung aus.

Sie dient dazu, eine oder mehrere Anweisungen solange auszuführen, wie eine Bedingung wahr (true) ist, mindestens jedoch einmal.

Im Gegensatz zur for-Schleife muss bei der do-while-Schleife, wie bei der while-Schleife auch, meist vorher eine Zählvariable deklariert und initialisiert werden. In den runden Klammern wird dann nur die Abbruchbedingung geprüft. Das Inkrementieren oder Dekrementieren der Zählvariablen geschieht an beliebiger Stelle innerhalb des Schleifenkörpers.
Die do-while-Schleife reagiert empfindlich auf eine fehlerhafte Syntax: Fehlt die Abbruchbedingung, wird diese niemals false oder fehlt die Änderung der Zählvariablen entsteht möglicherweise eine Endlosschleife, die das Programm zum Absturz bringen oder einfrieren kann. Im Beispiel verlangt die Abbruchbedingung dass i kleiner 0 wird. Die Variable wurde jedoch mit 0 initialisiert und kann niemals kleiner 0 werden, da innerhalb des Schleifenkörpers ein Inkrement und kein Dekrement stattfindet. Dennoch wird der Ausgangswert von i ausgegeben.

public class DoWhileClass {
    
    public void gibAus(){
        int i=0;
        do{
            System.out.println(i);
            i++;
        }while(i<0); // nicht erreichbar
    }
    
    public static void main(String[] args){
        DoWhileClass dwc = new DoWhileClass();
        dwc.gibAus();
    }
}