ลูป for
แนะนำใหม่| English | ความหมาย |
|---|---|
| for loop/fɔː luːp/ | ลูปสำหรับ |
ลูปที่มีเคาน์เตอร์ในตัว
- ลูป for รวมสามส่วนไว้ในบรรทัดเดียว:
for (int i = 0; i < 5; i++) { ... }- การตั้งค่าเริ่มต้น (
int i = 0), เงื่อนไข (i < 5), การอัปเดต (i++) - ใช้
forเมื่อคุณรู้ จำนวนครั้ง ที่จะทำซ้ำ
สามส่วนตามลำดับ
- การตั้งค่าเริ่มต้น ทำงาน หนึ่งครั้ง ก่อนที่ลูปจะเริ่ม
- เงื่อนไข จะถูกตรวจสอบ ก่อนแต่ละรอบ (เหมือน
while) - การอัปเดต ทำงาน หลังแต่ละรอบ จากนั้นเงื่อนไขจะถูกตรวจสอบอีกครั้ง
- ดังนั้นการไหลคือ: ตั้งค่าเริ่มต้น → (ทดสอบ → เนื้อหา → อัปเดต) → (ทดสอบ → เนื้อหา → อัปเดต) → …
for และ while สามารถแทนกันได้
- ลูป
forใดๆ สามารถเขียนใหม่เป็นลูปwhileได้ และในทางกลับกัน for (int i=0; i<5; i++) {B}เท่ากับint i=0; while (i<5) {B; i++;}forเรียบง่ายกว่าเมื่อการตั้งค่าเคาน์เตอร์ การทดสอบ และการเปลี่ยนแปลงอยู่ด้วยกัน- เลือกอย่างใดอย่างหนึ่งที่ทำให้เจตนาของลูปชัดเจนที่สุด
นับจำนวนครั้งที่ทราบแล้ว
for (int i = 0; i < n; i++)ทำงาน部分内容 exactlynครั้ง (i=0ถึงn-1)- เปลี่ยนขอบเขตเพื่อนับต่าง:
i = 1; i <= nทำงานnครั้งเช่นกัน - ระวังขอบเขต:
<หยุดก่อนหนึ่งหน่วย,<=รวมถึงจุดสิ้นสุด - นี่เป็นรูปแบบมาตรฐานสำหรับ "ทำอะไรsomething
nครั้ง"
ระวังขอบเขตของลูป — การคลาดเคลื่อนเพียงหนึ่งตำแหน่งก็ทำให้จำนวนรอบเปลี่ยนไป for (int i = 0; i < n; i++) ทำงาน n รอบ (i จาก 0 ถึง n-1); สลับไปใช้ i <= n จะทำงาน n+1 รอบและมักเกินขนาดของอาร์เรย์ ให้ติดตาม ค่าแรก และ ค่าสุดท้าย ของ i เพื่อยืนยันจำนวนรอบก่อนเชื่อถือลูป for
พิมพ์ 0,1,2,3,4:
for (int i = 0; i < 5; i++) { System.out.println(i); }iเริ่มต้น0ทำงานขณะi < 5,i++แต่ละรอบ- พิมพ์
0 1 2 3 4(ห้าค่า); ที่i = 5เงื่อนไขล้มเหลว → หยุด
ลูป for รวม การเริ่มต้น (ครั้งเดียว), เงื่อนไข (ตรวจสอบก่อนแต่ละรอบ) และ การอัปเดต (หลังแต่ละรอบ): for (int i = 0; i < n; i++) ทำงานบอดี้ n ครั้ง สามารถแทนที่ด้วยลูป while ได้ ระวังขอบเขต — < เทียบกับ <= ทำให้จำนวนรอบต่างไปหนึ่งรอบ
ลูป for นับจาก 0 ถึง 4
i ทำงานตั้งแต่ 0..4 (5 รอบ); เมื่อ i=5 เงื่อนไขจะไม่เป็นจริง
ส่วนประกอบสามส่วนของหัวลูป for มีดังนี้ตามลำดับ...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
for (init; condition; update).
ร่างงานของ for (int i = 0; i < 5; i++) จะทำงานกี่ครั้ง?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
i รับค่า 0,1,2,3,4 → 5 รอบ
ส่วนการเริ่มต้นของลูป for จะทำงาน...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Init ทำงานหนึ่งครั้ง; เงื่อนไขถูกตรวจสอบทุกครั้งที่วน; Update ทำงานหลังแต่ละรอบ
ลูป for ใดๆ สามารถเขียนใหม่ให้เทียบเท่ากับลูป while ได้
Difficulty 1/5 · 100 coins + a small bonus on first completion today
for และ while ใช้แทนกันได้
for (int i = 1; i <= 5; i++) จะทำงานกี่ครั้ง?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
i รับค่า 1..5 (รวม) → จะผ่าน 5 ครั้ง