For loops

Java ระดับกลาง

Jim White

Java Developer

ลูป

  • ใช้ทำซ้ำการกระทำหลายครั้ง
  • ลูปที่พบบ่อยที่สุดใน Java: for loop
    • ใช้เมื่อรู้จำนวนรอบที่ต้องการล่วงหน้า

ภาพลูกศรสามดวงเรียงเป็นวงกลม

Java ระดับกลาง

ไวยากรณ์ for loop

for (int i = 0; i < 5; i++) {

  // Do something

}
  • i: ตัว iterator
  • int i = 0: เริ่มต้นด้วย i เท่ากับ 0
  • i < 5: ทำต่อเมื่อ i น้อยกว่า 5
  • i++: เพิ่ม i ทีละ 1 หลังแต่ละรอบ
  • iterable: สิ่งที่วนซ้ำผ่าน
    • เช่น String หรือ array
Java ระดับกลาง

ตัวอย่าง for loop

for (int i = 0; i < 5; i++) {
  System.out.println("Hello".charAt(i));
}  
H

e
l l o
  • i คือ iterator
  • "Hello" คือ iterable
Java ระดับกลาง

for loop วนผ่าน array

// Iterate through array and print each element
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println(num[i]);
}
1
2
3
4
5
Java ระดับกลาง

การบวกค่าให้ array ภายในลูป

// Iterate through array 
// and add i to each element
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println("Old: " + num[i]);
    num[i] += i;
    System.out.println("New: " + num[i]);
}
Old: 1
New: 1
Old: 2
New: 3
Old: 3
New: 5
Old: 4
New: 7
Old: 5
New: 9
Java ระดับกลาง

Infinite loops

  • สาเหตุ:
    • ไม่อัปเดต iterator
    • เงื่อนไขหยุดผิดพลาด
    • ...
  • หลีกเลี่ยง infinite loop!
    • ทำให้โปรแกรมค้างหรือพัง

ตัวอย่าง

// i is always bigger than 3
for (int i = 3; i > 2; i = i + 1) { 
  System.out.println("Forever...");
}
// Not updating i
for (int i = 0; i < 10; i = i - 0) {
  System.out.println("And ever...");
Java ระดับกลาง

Break

  • ใช้ออกจากลูปก่อนครบรอบ
  • ไม่ถือเป็นแนวปฏิบัติที่ดี ใช้ให้เหมาะสม
    • while loop มักเป็นตัวเลือกที่ดีกว่า
for (int i = 0; i < 5; i++) {
  System.out.println(i);
  if (i == 1) {
    break; // Breaks the loop when i is 1
  }
}
0
1
Java ระดับกลาง

สรุป

// Example of a for loop
// Including the break keyword
String word = "Hey";

for (int i = 0; i < word.length(); i++){
  System.out.println(word.charAt(i));
  if (i == 2) {
    System.out.println("!");
    break;
  }
  System.out.println("-");
}
  • i: ตัว iterator
  • word: iterable
  • for loop ทำงานตามจำนวนรอบที่กำหนดไว้
    • วนจาก 0 จนถึงท้าย word
    • ยกเว้นเมื่อใช้คีย์เวิร์ด break
H
-
e
-
y
!
Java ระดับกลาง

มาฝึกกันเถอะ!

Java ระดับกลาง

Preparing Video For Download...