สำหรับคำสั่ง while ถ้าไม่ตรงตามเงื่อนไข จะไม่สามารถป้อนลูปได้ แต่บางครั้งเราจำเป็นต้องดำเนินการอย่างน้อยหนึ่งครั้ง แม้ว่าจะไม่ตรงตามเงื่อนไขก็ตาม
ลูป do... While นั้นคล้ายคลึงกับลูป while ยกเว้นว่าลูป do... While จะถูกดำเนินการอย่างน้อยหนึ่งครั้ง
ทำ { //คำสั่งโค้ด} ในขณะที่ (นิพจน์บูลีน);
คำสั่ง do.. While loop เรียกอีกอย่างว่าคำสั่ง post-test loop วิธีดำเนินการซ้ำ ๆ ของ loop ยังใช้เงื่อนไขเพื่อควบคุมว่าจะดำเนินการคำสั่งซ้ำ ๆ ต่อไปหรือไม่ ความแตกต่างจาก while loop คือ ขั้นแรกจะดำเนินการคำสั่ง loop หนึ่งครั้ง จากนั้นจึงพิจารณาว่าจะดำเนินการต่อไปหรือไม่ ตัวอย่างเช่น ในการคำนวณผลรวมของจำนวนเต็มทั้งหมดระหว่าง 1 ถึง 100 คุณยังสามารถใช้คำสั่ง do... While วนซ้ำได้ รหัสเฉพาะมีดังนี้:
int sum=0;int i=1;do{sum+=i;i++;} while (i<=100);System.out.println("ผลรวมของจำนวนเต็มทั้งหมดระหว่าง 1 ถึง 100 คือ: "+sum);
กระบวนการดำเนินการของคำสั่ง do... While loop คือ ขั้นแรกให้รันเนื้อหาลูปหนึ่งครั้ง จากนั้นจึงตัดสินนิพจน์แบบมีเงื่อนไข หากค่าของนิพจน์แบบมีเงื่อนไขเป็นจริง ให้ดำเนินการต่อไป ไม่เช่นนั้นจะข้ามออกจากลูป กล่าวอีกนัยหนึ่ง เนื้อความของลูปในคำสั่ง do... while ของลูปจะถูกดำเนินการอย่างน้อยหนึ่งครั้ง
หมายเหตุ: นิพจน์บูลีนอยู่หลังเนื้อหาลูป ดังนั้นบล็อกคำสั่งจึงถูกดำเนินการก่อนที่จะตรวจพบนิพจน์บูลีน หากนิพจน์บูลีนประเมินเป็นจริง บล็อกคำสั่งจะถูกดำเนินการจนกว่านิพจน์บูลีนจะประเมินเป็นเท็จ
ตัวอย่าง
การทดสอบคลาสสาธารณะ { สาธารณะคงเป็นโมฆะ main (String args []) { int x = 10; do { System.out.print ("ค่าของ x : " + x ); System.out.print ("/ n" ) } ในขณะที่ ( x < 20 ) );
ผลการรวบรวมและการทำงานของตัวอย่างข้างต้นมีดังนี้:
ค่า x : 10 ค่า x : 11 ค่า x : 12 ค่า x : 13 ค่า x : 14 ค่า x : 15 ค่า x : 16 ค่า x : 17 ค่า x : 18 ค่า x : 19