การวนซ้ำ (Loops) ใน Java
วันนี้เรามาเรียนรู้เกี่ยวกับการวนซ้ำ หรือ Loops ใน Java กัน การวนซ้ำจะช่วยให้เราทำงานซ้ำๆ ได้อย่างมีประสิทธิภาพ โดยไม่ต้องเขียนโค้ดซ้ำหลายๆ ครั้ง
การวนซ้ำคืออะไร?
การวนซ้ำเป็นเหมือนการบอกคอมพิวเตอร์ให้ทำอะไรซ้ำๆ จนกว่าจะถึงเงื่อนไขที่เรากำหนด
เปรียบเทียบกับชีวิตประจำวัน:
- การล้างจาน: คุณล้างจานทีละใบจนกว่าจะหมด
- การออกกำลังกาย: คุณวิดพื้น 20 ครั้ง
ใน Java เรามีการวนซ้ำ 3 แบบหลักๆ:
- for loop
- while loop
- do-while loop
มาดูแต่ละแบบกันเลย!
1. for loop
for loop ใช้เมื่อเรารู้จำนวนครั้งที่ต้องการทำซ้ำแน่นอน
โครงสร้าง:
for (ค่าเริ่มต้น; เงื่อนไข; การเปลี่ยนแปลง) {
// โค้ดที่ต้องการทำซ้ำ
}ตัวอย่าง: นับเลข 1 ถึง 5
for (int i = 1; i <= 5; i++) {
System.out.println("นับครั้งที่ " + i);
}ผลลัพธ์:
นับครั้งที่ 1
นับครั้งที่ 2
นับครั้งที่ 3
นับครั้งที่ 4
นับครั้งที่ 52. while loop
while loop ใช้เมื่อเราไม่รู้จำนวนครั้งที่แน่นอน แต่รู้เงื่อนไขที่ต้องการให้หยุด
โครงสร้าง:
while (เงื่อนไข) {
// โค้ดที่ต้องการทำซ้ำ
}ตัวอย่าง: ทายตัวเลขให้ถูก
import java.util.Scanner;
public class เกมทายตัวเลข {
public static void main(String[] args) {
int เลขที่ถูก = 7;
int เลขที่ทาย = 0;
Scanner scanner = new Scanner(System.in);
while (เลขที่ทาย != เลขที่ถูก) {
System.out.print("ทายตัวเลข (1-10): ");
เลขที่ทาย = scanner.nextInt();
if (เลขที่ทาย < เลขที่ถูก) {
System.out.println("น้อยไป ลองใหม่!");
} else if (เลขที่ทาย > เลขที่ถูก) {
System.out.println("มากไป ลองใหม่!");
}
}
System.out.println("ยินดีด้วย! คุณทายถูกแล้ว");
scanner.close();
}
}3. do-while loop
do-while loop คล้ายกับ while loop แต่จะทำงานอย่างน้อย 1 ครั้งเสมอ แม้ว่าเงื่อนไขจะเป็นเท็จตั้งแต่แรก
โครงสร้าง:
do {
// โค้ดที่ต้องการทำซ้ำ
} while (เงื่อนไข);ตัวอย่าง: ให้ผู้ใช้ใส่ตัวเลขที่มากกว่า 0
import java.util.Scanner;
public class รับตัวเลขบวก {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int ตัวเลข;
do {
System.out.print("กรุณาใส่ตัวเลขที่มากกว่า 0: ");
ตัวเลข = scanner.nextInt();
} while (ตัวเลข <= 0);
System.out.println("ขอบคุณ! คุณใส่ตัวเลข: " + ตัวเลข);
scanner.close();
}
}เคล็ดลับการใช้ Loops
- ระวัง infinite loop (การวนซ้ำไม่รู้จบ) ตรวจสอบให้แน่ใจว่ามีเงื่อนไขที่ทำให้ loop หยุดได้
- เลือกใช้ loop ให้เหมาะกับงาน:
- รู้จำนวนรอบแน่นอน? ใช้
for - ไม่รู้จำนวนรอบ แต่รู้เงื่อนไขหยุด? ใช้
while - ต้องการทำงานอย่างน้อย 1 ครั้ง? ใช้
do-while
- ใช้
breakเพื่อออกจาก loop ก่อนเวลา และcontinueเพื่อข้ามการทำงานในรอบนั้นๆ
มาลองทำโจทย์ง่ายๆ กัน!
ลองเขียนโปรแกรมที่พิมพ์ตารางสูตรคูณ แม่ 2 ถึง 12:
public class ตารางสูตรคูณ {
public static void main(String[] args) {
for (int i = 1; i <= 12; i++) {
System.out.println("2 x " + i + " = " + (2 * i));
}
}
}สรุป
การวนซ้ำ (Loops) เป็นเครื่องมือที่ทรงพลังในการทำให้โปรแกรมของเราทำงานซ้ำๆ ได้อย่างมีประสิทธิภาพ ช่วยให้เราเขียนโค้ดได้สั้นลง และจัดการกับงานที่ต้องทำซ้ำหลายๆ ครั้งได้ง่ายขึ้น