ลูป (Loops) ในโปรแกรมมิ่ง ใช้ทำงานซ้ำที่คล้ายกันหลายครั้ง เช่น สร้างโปรแกรมรวมราคาและชื่อเมนูอาหารกลางวัน ใช้ลูปทำอัตโนมัติ
ใน Java for loops รันบล็อกโค้ดจำนวนรอบที่กำหนด แตกต่างจาก while ที่รันจนเงื่อนไข false
บทช่วยสอนนี้อธิบาย for และ for-each loops ใน Java พร้อมตัวอย่าง
For Loop ใน Java
อยากพิมพ์อาร์เรย์ 100 รายการ หรือเพิ่มราคาทุกอย่าง 5 เซนต์ แทนทำมือ ใช้ลูป
Java for loops รันงานซ้ำหลายครั้ง ไวยากรณ์:
for (initialization; expression; updateCounter) {
// Execute code
}
3 ส่วนประกอบ (จำเป็นทั้งหมด):
- initialization: ตัวแปรนับรอบลูป
- expression: เงื่อนไข boolean (true/false)
- updateCounter: อัปเดตตัวแปรนับหลังรันบล็อกโค้ด
ตัวอย่าง: ตารางคูณ 10
โปรแกรมช่วยนักเรียนชั้นประถม 3 ทบทวนตารางคูณ 10 ใช้ for loop คำนวณ 1×10 ถึง 10×10
public class TimesTable {
public static void main(String[] args) {
for (int i = 1; i <= 10; ++i) {
int answer = i * 10;
System.out.println(i + " x 10 is " + answer);
}
}
}
ผลลัพธ์:
1 x 10 is 10 2 x 10 is 20 3 x 10 is 30 4 x 10 is 40 5 x 10 is 50 6 x 10 is 60 7 x 10 is 70 8 x 10 is 80 9 x 10 is 90 10 x 10 is 100
อธิบาย: คลาส TimesTable for loop 3 ส่วน: int i=1 (เริ่มที่ 1), i<=10 (รันจน i<=10), ++i (เพิ่ม i ทีละ 1) พิมพ์โจทย์และคำตอบ
For-Each Loop ใน Java
ทำงานกับอาร์เรย์/คอลเลกชัน มี for-each loop (enhanced for loop) วนเข้าถึงทุกสมาชิก
ไวยากรณ์:
for (dataType item : collection) {
// Execute code
}
3 ส่วน:
- dataType: ชนิดข้อมูลของ item
- item: สมาชิกเดี่ยวในคอลเลกชัน
- collection: อาร์เรย์/คอลเลกชันที่จะวน
for-each วนทุก item เก็บใน item variable แล้วรันโค้ดในลูป
ตัวอย่าง: ลดราคากาแฟ Flash Sale
ร้านกาแฟ ลดราคาทุกเมนู 0.25 บาท มีลิสต์ราคา ต้องการลดทุกอย่าง
public class ReducePrices {
public static void main(String[] args) {
double[] prices = {2.50, 2.75, 3.00, 2.75, 2.75, 2.30, 3.00, 2.60};
for (double i : prices) {
double new_price = i - 0.25;
System.out.println("The new price is " + new_price);
}
}
}
ผลลัพธ์:
The new price is 2.25 The new price is 2.5 The new price is 2.75 The new price is 2.5 The new price is 2.5 The new price is 2.05 The new price is 2.75 The new price is 2.35
อธิบาย: คลาส ReducePrices อาร์เรย์ prices (double) 8 ค่า for-each วนทุกค่า ลบ 0.25 เก็บใน new_price พิมพ์ราคาใหม่
สรุป
forloop: รันบล็อกโค้ดจำนวนรอบที่กำหนดfor-eachloop: รันบล็อกโค้ดสำหรับทุก item ในอาร์เรย์/คอลเลกชัน
บทช่วยสอนนี้อธิบาย for และ for-each loops พร้อมตัวอย่างและอธิบายขั้นตอน ตอนนี้คุณใช้ Java for และ for-each loops ได้อย่างมืออาชีพแล้ว!