VieTopik
Tiếng HànTiếng Anh.NET (C#)Java
  • Góc học tập
Tải app
  • Thư viện
  • Luyện thi
  • Cẩm nang
  • Góc học tập
Java CoreBắt đầu
Bài 5/19
5 phút

Vòng lặp

Nội dung bài · 6 mục
  1. 1.Khái niệm
  2. 2.Ví dụ
  3. 3.while và break
  4. 4.Thử ngay
  5. 5.Lỗi hay gặp
  6. 6.Tóm tắt

In bảng giá cho 1 đến 10 sản phẩm, hay nhắc khách nhập lại cho tới khi nhập đúng: đó là những việc lặp đi lặp lại. Thay vì viết một câu lệnh mười lần, bạn dùng vòng lặp.

Khái niệm

🔁 Vòng lặp (loop): khối code được chạy lặp lại nhiều lần, chừng nào điều kiện lặp còn đúng.

🔢 for: vòng lặp dùng khi biết trước số lần lặp, có sẵn biến đếm.

🔂 while: vòng lặp dùng khi chỉ biết điều kiện dừng, không biết trước số lần lặp.

Ví dụ

void main() {
    long price = 5000;

    for (int i = 1; i <= 3; i++) {
        System.out.println(i + " cái: " + price * i);
    }
}
1 cái: 5000
2 cái: 10000
3 cái: 15000

Dòng for có ba phần, cách nhau bằng dấu ;:

  • int i = 1: khởi tạo biến đếm, chạy một lần lúc bắt đầu.
  • i <= 3: điều kiện, còn đúng thì còn lặp.
  • i++: tăng i thêm 1 sau mỗi vòng (i-- thì giảm 1).
Đúng Sai int i = 1 i <= 3? In dòng giá i++ Thoát vòng lặp
Thứ tự chạy ba phần của vòng for

while và break

while chỉ có điều kiện. Vòng lặp chạy chừng nào điều kiện còn đúng:

void main() {
    int stock = 10;
    int orders = 0;

    while (stock >= 3) {
        stock = stock - 3;
        orders++;
    }

    System.out.println(orders);   // 3
    System.out.println(stock);    // 1
}

break thoát khỏi vòng lặp ngay lập tức, kể cả khi điều kiện vẫn đúng.

Thử ngay

Dán vào Main.java rồi chạy java Main.java:

void main() {
    for (int i = 1; i <= 10; i++) {
        if (i == 4) {
            break;
        }
        System.out.println("Đơn số " + i);
    }
}

Đoán trước khi chạy: màn hình in ra bao nhiêu dòng?

Xem kết quả
Đơn số 1
Đơn số 2
Đơn số 3

Ba dòng. Khi i bằng 4, break thoát vòng lặp trước khi kịp in.

Lỗi hay gặp

Vòng lặp vô tận. Bạn quên thay đổi biến dùng trong điều kiện, nên điều kiện đúng mãi và chương trình treo.

// SAI — stock không bao giờ giảm
void main() {
    int stock = 10;
    while (stock > 0) {
        System.out.println("Bán 1 cái");
    }
}
// ĐÚNG
void main() {
    int stock = 10;
    while (stock > 0) {
        System.out.println("Bán 1 cái");
        stock--;
    }
}

Lệch một vòng. < và <= khác nhau đúng một lần lặp.

// SAI — muốn in 1 đến 5 nhưng chỉ ra 1 đến 4
void main() {
    for (int i = 1; i < 5; i++) {
        System.out.println(i);
    }
}
// ĐÚNG
void main() {
    for (int i = 1; i <= 5; i++) {
        System.out.println(i);
    }
}

Tóm tắt

  • Biết trước số lần lặp thì dùng for, chỉ biết điều kiện dừng thì dùng while.
  • for (khởi tạo; điều kiện; bước tăng).
  • break thoát vòng lặp ngay.
  • Luôn kiểm tra: biến trong điều kiện có thay đổi không, và dùng < hay <=.

Tự kiểm tra

0/3 câu
Câu 1

for (int i = 0; i < 3; i++) System.out.println(i); In ra những số nào?

Câu 2

Chương trình cần hỏi mật khẩu cho tới khi người dùng nhập đúng. Vòng lặp nào phù hợp?

Câu 3

int n = 5; while (n > 0) { System.out.println(n); } Chuyện gì xảy ra?

if/else và switchMethod

Nội dung bài

  1. 1.Khái niệm
  2. 2.Ví dụ
  3. 3.while và break
  4. 4.Thử ngay
  5. 5.Lỗi hay gặp
  6. 6.Tóm tắt