1. Gelung terbalik

Java mempunyai satu lagi jenis whilegelung - do-whilegelung. Ia sangat serupa dengan whilegelung biasa dan juga terdiri daripada hanya dua bahagian: "keadaan" dan "badan gelung". Badan gelung dilaksanakan berulang kali selagi syaratnya true. Secara umum, do-whilegelung kelihatan seperti ini:

do
   statement;
while (condition);

atau

do
{
   block of statements
}
while (condition);

Untuk whilegelung, urutan pelaksanaan ialah: syarat , badan gelung , keadaan , badan gelung , keadaan , badan gelung , ...

Tetapi untuk do-whilegelung, ia sedikit berbeza: badan gelung , keadaan , badan gelung , keadaan , badan gelung , ...

Malah, satu-satunya perbezaan antara whilegelung dan do-whilegelung ialah hakikat bahawa badan gelung dilaksanakan sekurang-kurangnya sekali untuk do-whilegelung.


2. Faedah menggunakan do-whilegelung

Pada asasnya, satu-satunya perbezaan antara do-whilegelung dan whilegelung ialah badan gelung do-whiledilaksanakan sekurang-kurangnya sekali.

Secara amnya, do-whilegelung digunakan apabila tidak masuk akal untuk menyemak keadaan gelung jika badan gelung belum dilaksanakan. Contohnya, jika pengiraan tertentu dilakukan dalam badan gelung dan kemudian digunakan dalam keadaan .

Contoh:

Program membaca baris dari papan kekunci sehingga perkataan exitdimasukkan

sementara buat sementara
String s;
while (true)
{
   s = console.nextLine();
   if (s.equals("exit"))
      break;
}
String s;
do
{
   s = console.nextLine();
}
while (!s.equals("exit"));

Pernyataan breakdan continuedalam do-whilegelung berfungsi dengan cara yang sama seperti dalam whilegelung.


3. Membandingkan do-whilegelung: Java vs Pascal

Sekali lagi, Pascal mempunyai analog gelung do-while, tetapi ia dipanggil repeat-untilgelung. Juga, ia sedikit berbeza daripada do-whilegelung. Dalam repeat-untilgelung, keadaan menunjukkan masa untuk keluar dari gelung dan bukannya masa untuk meneruskannya.

Contoh:

Pascal Jawa
 
Repeat
   ReadLn(s);
Until s = 'exit';
 
String s;
do {
   s = console.nextLine();
}
while ( !s.equals("exit") );

Berbanding dengan Java, cara Pascal mewakili ini benar-benar cantik. Kita harus mulakan dengan contoh dari Pascal, jika tidak, anda akan ketawa.