Java การทำซ้ำด้วยคำสั่ง do while

    คำสั่ง do while loop เป็นคำสั่งคล้าย ๆ กับ while loop แต่เพิ่มในส่วนของ do มา แล้วตัดให้ while เหลือแต่ส่วนของเงื่อนไข มีเครื่องหมายปีกกาอยู่หลังคำสั่ง do เท่านั้น เราจะใช้คำสั่ง do while loop เพื่อให้โปรแกรมทำคำสั่งใน do ก่อน 1 ครั้ง เสมอ แล้วค่อยเช็คเงื่อนไขในการทำซ้ำ

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

    หลังจากตรวจสอบเงื่อนไขใน while ( //เงื่อนไข ) แล้ว หากเงื่อนไขเป็นจริง ก็จะทำซ้ำคำสั่งใน do ไปเรื่อย ๆ จนกว่าเงื่อนไขจะเป็นเท็จ โปรแกรมจึงจะออกจากการทำซ้ำ (loop) และทำงานในคำสั่งถัดไป ตามรูปแบบดังภาพด้านล่าง

รูปแบบ :

mystou-com-java-basic-44-0

    เราลองมาดูการใช้งานคำสั่ง do while loop กันดีกว่าค่ะ พยายามอ่านโค้ดและ Comment นะคะ หากยังไม่เข้าใจก็ลองเขียนโปรแกรมตามไปด้วยแล้วสั่ง Run ทีละบรรทัดดูค่ะ

ตัวอย่าง : การใช้งานคำสั่ง do while

ผลลัพธ์ :

mystou-com-java-basic-44-1

    จะเห็นว่า แม้เงื่อนไขใน while (i > book.length); หรือ while ( 0 > 3); // ค่า 0 ไม่ได้มากกว่า 3 จะเป็นเท็จแต่เราก็ยังได้ผลลัพธ์ของคำสั่งใน do ออกมาแสดงผล เพราะคำสั่งใน do จะถูกทำ ก่อนไปตรวจสอบเงื่อนไข 1 ครั้งเสมอ เมื่อเงื่อนไขเป็นเท็จ โปรแกรมก็จะออกจากการทำซ้ำ

    แล้วอย่างนี้เราจะเลือกใช้คำสั่ง while loop หรือ do while loop ดีล่ะ ? เราไม่ได้ใช้ 2 คำสั่งนี้ด้วยหตุผลว่าคำสั่งไหนดีกว่ากัน ? แต่มันเกิดขึ้นมาเพื่อให้เราเลือกใช้งานในสถานะการณ์ที่แตกต่างกันต่างหาก

    หากเราต้องการแค่ทำซ้ำ ก็ใช้ while loop ก็พอ แต่ถ้าอยากให้โปรแกรมทำอะไรสักอย่างก่อนที่จะตรวจสอบเงื่อนไขในการทำซ้ำ do while loop ก็คงจะเหมาะมากกว่า ดังนั้นก่อนเขียนโปรแกรมอย่าลืมพิจารณนาเงื่อนไขต่าง ๆ ให้รอบคอบนะคะ 🙂


เรื่องที่เกี่ยวข้อง
– Java Basic