Các cấu trúc điều khiển vòng lặp for và for-each trong Java

Đây là bài 13/62 bài của series môn học Ngôn ngữ lập trình Java

Ý tưởng về vòng lặp for trong Java giống với C++. Các bạn có thể xem lại bài Cú pháp và cách sử dụng vòng lặp for trong C++ để nắm rõ ý tưởng về vòng lặp for. Bài này sẽ trình bày các ví dụ của vòng lặp for trong Java. Ngoài ra, một cấu trúc vòng lặp là for-each cũng sẽ được giới thiệu.

1. Vòng lặp for trong Java

Vòng lặp for được sử dụng để chạy một khối code trong một số lần nhất định. Cú pháp:

for (<khởi đầu>; <điều kiện lặp>; <bước nhảy>) {
    //code block 
}

Nguyên lý hoạt động của vòng lặp for như sau:

<khởi đầu> khởi tạo giá trị của biến và chỉ thực thi một lần duy nhất. Sau đó, nếu <điều kiện lặpđúng (true) thì thực thi các dòng lệnh trong vòng lặp for. Nếu <điều kiện lặpsai (false) thì kết thúc vòng lặp.

<bước nhảy> sẽ thay đổi giá trị của biến lúc <khởi đầu>. Giá trị của biến này sẽ được kiểm tra lại (kiểm tra <điều kiện lặp>) sau mỗi lần lặp.

Ví dụ bên dưới sẽ in ra “Java is fun” 5 lần.

class Main {
    public static void main(String[] args) {
        int n = 5;
        // for loop  
        for (int i = 1; i <= n; ++i) {
          System.out.println("Java is fun");
        }
    }
}
Kết quả
Java is fun
Java is fun
Java is fun
Java is fun
Java is fun

Giá trị khởi tạo cho vòng lặp for

<khởi đầu> trong vòng lặp for không hẳn lúc nào cũng là int i = 1, có thể thay đổi để phù hợp với yêu cầu hoặc quy ước trong lập trình.

class Main {
    public static void main(String[] args) {
        int n = 5;
        // for loop  
        for (int i = 0; i < n; ++i) {
          System.out.println("Java is fun");
        }
    }
}

Trong chương trình trên, giá trị khởi tạo là i=0.

Vòng lặp for vô hạn

Lưu ý <điều kiện lặp> để tránh trường hợp vòng lặp vô hạn.

class Main {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 10; --i) {
            System.out.println("Hello");
        }
    }
}

<điều kiện lặp> ở ví dụ trên là i<=10, <khởi đầu> là i = 1, <bước nhảy> là –i thì <điều kiện lặp> sẽ không bao giờ false và vòng lặp for sẽ lặp vô hạn.

2. Vòng lặp for each trong Java

Vòng lặp for trong Java có một cú pháp thay thế giúp dễ dàng duyệt qua các mảng (array) và tập hợp (collection). Đó là vòng lặp for-each. Cú pháp:

for(dataType item : array) {
    ...
}

Trong đó,

array là một mảng hay một tập hợp.

item là mỗi phần tử trong mảng hay tập hợp

dataType là kiểu dữ liệu của các phần tử trong mảng hay tập hợp

class Main {
    public static void main(String[] args) {
        // create an array
        int[] numbers = {3, 9, 5, -5};

        // for each loop 
        for (int number: numbers) {
          System.out.println(number);
        }
    }
}
Kết quả
3
9
5
-5

Chương trình trên sử dụng for-each để duyệt mảng. Ở lần lặp thứ 1 thì item là 3, lần lặp thứ 2 thì item là 9, lần lặp thứ 3 thì item là 5, lần lặp thứ 4 thì item là -5.

Lưu ý: Vòng lặp for và for-each cho kết quả duyệt mảng như nhau, nhưng for-each ngắn gọn và dễ hiểu hơn.

5/5 - (1 bình chọn)
Bài trước và bài sau trong môn học<< Câu lệnh switch case và toán tử điều kiện trong JavaCác cấu trúc điều khiển vòng lặp while và do while trong Java >>
Chia sẻ trên mạng xã hội:

Tác giả Vinh Lê

Vinh Lê hiện đang là biên tập viên tại Góc Học IT.

Bài viết của Vinh Lê

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.