การวนลูปแบบ while ในภาษาจาวา การใช้งาน และตัวอย่างประกอบ
คำสั่ง while คือคำสั่งการทำงานซ้ำ ๆ หรือ loop นั่นเอง
เรามาดู flowchart ในคำสั่ง while กันก่อนดีกว่าครับ ตามรูปด้านเลย
จากรูปด้านบน เราจะเห็นว่า คำสั่ง while จะมีโอกาศทำงานก็ต่อเมื่อ ค่าใน condition มีค่าเป็นจริงเท่านั้น
เราดู flowchart กันไปแล้ว ต่อไปเรามาดู Syntax กันต่อดีกว่า ตามด้านล่างเลยครับ
while(condition){ statement(s) }
คำสั่ง while จะตรวจสอบค่า condition ซึ่งจะคืนค่ามาเป็น boolean ถ้าตรวจสอบแล้ว ให้ค่าเป็นจริง ก็จะทำการดำเนินการกับ statent ซึ่งมีได้หลาย statement ได้ แต่ถ้าได้ค่าเป็นเท็จ ก็จะออกจาก loop while ไม่ทำคำสั่ง statement
ตอนนี้ก็รู้จักกันคร่าว ๆ แล้ว ต่อไปเรามาดูตัวอย่างกันครับ
ตัวอย่างที่ 1
public static void main(String[] args){ int a = 1; while(a < 5){ System.out.print(a + " "); a++; } }
Output
1 2 3 4
จากโค้ดข้างบน เรากำหนด a = 1; แล้วเข้าสู่ loop while ตรวจสอบว่า a < 5 หรือไม่ ถ้าไม่ใช่ ถ้าใช่แสดงว่า condition เป็นจริง จึงทำคำสั่งใน block while นั่นคือ แสดงค่า a กับช่องว่างหนึ่งช่อง แล้วบวกค่า a ขึ้นหนึ่ง ทำแบบนี้ไปเรื่อย ๆ เมื่อ a บวกขึ้นเรื่อย ๆ จนถึงห้า เมื่อตรวจสอบ condition แล้วค่าที่ได้เป็นเท็จ จึงออกจากวงวน while ดังนั้น Output ที่ได้ จึงแสดงออกมาแค่ 1 2 3 4
ตัวอย่างที่ 2
public static void main(String[] args){ int a = 1; while(true){ System.out.print(a + " "); a++; if(a == 10) break; } }
output
1 2 3 4 5 6 7 8 9
จากตัวอย่างข้างบน เราใส่ค่า true ลงไปใน condition จึงทำให้โปรแกรมทำใน block while ตลอดเวลา แต่เราได้เพิ่มคำสั่ง if ใน block ตรวจสอบว่า ถ้า a = 10 ให้ break ออกจาก loop