Vòng lặp for

Java trung cấp

Jim White

Java Developer

Vòng lặp

  • Cho phép lặp lại một hành động nhiều lần
  • Phổ biến nhất trong Java: vòng lặp for
    • Dùng khi biết trước số lần lặp

Hình ba mũi tên tạo thành vòng tròn

Java trung cấp

Cú pháp vòng lặp for

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

  // Do something

}
  • i: biến lặp
  • int i = 0: bắt đầu với i bằng 0
  • i < 5: tiếp tục khi i nhỏ hơn 5
  • i++: tăng i thêm 1 sau mỗi vòng
  • iterable: đối tượng có thể lặp
    • ví dụ: String hoặc array
Java trung cấp

Ví dụ vòng lặp for

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

e
l l o
  • i là biến lặp
  • "Hello" là tập có thể lặp
Java trung cấp

for lặp qua một mảng

// Duyệt mảng và in từng phần tử
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 trung cấp

Cộng vào mảng trong vòng lặp

// Duyệt mảng 
// và cộng i vào từng phần tử
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 trung cấp

Vòng lặp vô hạn

  • Nguyên nhân:
    • Không cập nhật biến lặp
    • Điều kiện dừng sai
    • ...
  • Tránh vòng lặp vô hạn!
    • Làm treo hoặc sập chương trình

Ví dụ

// i luôn lớn hơn 3
for (int i = 3; i > 2; i = i + 1) { 
  System.out.println("Forever...");
}
// Không cập nhật i
for (int i = 0; i < 10; i = i - 0) {
  System.out.println("And ever...");
Java trung cấp

Break

  • Dùng để thoát vòng lặp sớm
  • Không phải thực hành tốt, dùng thận trọng
    • Thường dùng while sẽ hợp lý hơn
for (int i = 0; i < 5; i++) {
  System.out.println(i);
  if (i == 1) {
    break; // Thoát vòng lặp khi i = 1
  }
}
0
1
Java trung cấp

Tóm tắt

// Ví dụ vòng lặp for
// Có từ khóa break
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: biến lặp
  • word: tập có thể lặp
  • Vòng lặp for chạy số lần xác định trước
    • Chạy từ 0 đến hết word
    • Trừ khi dùng từ khóa break
H
-
e
-
y
!
Java trung cấp

Ayo berlatih!

Java trung cấp

Preparing Video For Download...