1. วนกลับ

Java มีลูปอีกประเภทหนึ่งwhileนั่นคือdo-whileลูป มันคล้ายกับwhileลูปธรรมดามากและประกอบด้วยสองส่วนเท่านั้น: "เงื่อนไข" และ "ตัวลูป" ตัวลูปถูกดำเนินการซ้ำแล้วซ้ำอีกตราบเท่าที่มีtrueเงื่อนไข โดยทั่วไปแล้วdo-whileลูปจะมีลักษณะดังนี้:

do
   statement;
while (condition);

หรือ

do
{
   block of statements
}
while (condition);

สำหรับwhileลูป ลำดับของการดำเนินการคือ: condition , loop body , condition , loop body , condition , loop body , ...

แต่สำหรับdo-whileลูปนั้นแตกต่างกันเล็กน้อย: loop body , condition , loop body , condition , loop body , ...

ในความเป็นจริง ข้อแตกต่างระหว่างwhileลูปและdo-whileลูปคือข้อเท็จจริงที่ว่าตัวลูปถูกดำเนินการอย่างน้อยหนึ่งครั้งสำหรับdo-whileลูป


2. ประโยชน์ของการใช้do-whileลูป

โดยทั่วไป ข้อแตกต่างระหว่างdo-whileลูปและwhileลูปคือเนื้อหาของdo-whileลูปถูกดำเนินการอย่างน้อยหนึ่งครั้ง

โดยทั่วไปdo-whileลูปจะใช้เมื่อไม่มีเหตุผลที่จะตรวจสอบเงื่อนไขของลูป ถ้าเนื้อหาของลูปไม่ได้ถูกดำเนินการ ตัวอย่างเช่น หากมีการคำนวณบางอย่างในเนื้อความของลูปแล้วนำไปใช้ในเงื่อนไข

ตัวอย่าง:

โปรแกรมอ่านบรรทัดจากแป้นพิมพ์จนกว่าexitจะป้อน คำ

ในขณะที่ ทำในขณะที่
String s;
while (true)
{
   s = console.nextLine();
   if (s.equals("exit"))
      break;
}
String s;
do
{
   s = console.nextLine();
}
while (!s.equals("exit"));

และคำสั่งใน ลู breakปทำงานในลักษณะเดียวกับในลูปcontinuedo-whilewhile


3. การเปรียบเทียบdo-whileลูป: Java กับ Pascal

อีกครั้ง Pascal มีอะนาล็อกของdo-whileลูป แต่มันเรียกว่าลูrepeat-untilป นอกจากนี้ยังแตกต่างจากdo-whileลูป เล็กน้อย ในrepeat-untilลูป เงื่อนไขจะระบุว่าเมื่อใดควรออกจากลูปแทนที่จะดำเนินการต่อ

ตัวอย่าง:

ปาสคาล ชวา
 
Repeat
   ReadLn(s);
Until s = 'exit';
 
String s;
do {
   s = console.nextLine();
}
while ( !s.equals("exit") );

เมื่อเทียบกับ Java วิธีที่ Pascal นำเสนอนั้นสวยงามมาก เราต้องเริ่มต้นด้วยตัวอย่างจาก Pascal มิฉะนั้นคุณจะหัวเราะ