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 ein Mal.

Im Gegensatz zur for-Schleife muss bei der do-while-Schleife vorher eine Zählvariable deklariert und initialisiert werden. In den '()' wird dann nur die Bedingung geprüft. Das Incrementieren oder Decrementieren 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 ein i<0. Die Variable wurde jedoch mit 0 initialisiert und kann niemals kleiner 0 werden, da innerhalb des Schleifenkörpers ein Increment 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);
    }
    
    public static void main(String[] args){
        DoWhileClass dwc = new DoWhileClass();
        dwc.gibAus();
    }
}