Vòng lặp for trong java

Trong Java, Vòng lặp for có dạng như sau:

for(biểu thức 1; biểu thức 2; biểu thức 3){
    Khối lệnh;
}

Hoạt động vòng lặp for
B1/ Thực hiện biểu thức 1
B2/ Thực hiện biểu thức 2
B3/ Tùy thuộc vào tính đúng sai của biểu thức 2 mà chương trình sẽ thực hiện theo 2 hướng:
a. Nếu biểu thức 2 có giá trị true (boolean) chương trình sẽ thực hiện khối lệnh của vòng for. Nếu gặp dấu đóng ngoặc cuối cùng của vòng for hoặc gặp từ khóa continue thì chương trình sẽ chuyển tới bước 4
b. Nếu biểu thức 2 có giá trị false (boolean), chương trình ra khỏi vòng for (kết thúc vòng lặp)
B4/ Thực hiện biểu thức 3, sau đó quay lại bước 2 để bắt đầu một vòng mới.
Chú ý:
1/ Biểu thức 1 chỉ được thực hiện 1 lần
2/ Biểu thức 2,3 có thể được thực hiện nhiều lần.
3/ Khi vắng mặt biểu thức 2, thì nó được xem là luôn đúng (vòng lặp vô hạn). Để tránh điều này, ta dùng từ khóa break hoặc goto hoặc return (tùy vào mục đích) để thoát khỏi vòng lặp for.
4/ Trong mỗi biểu thức trong dấu ngoặc tròn của vòng lặp for. Mỗi biểu thức ta có thể viết nhiều câu lệnh và phân tách nhau bởi dấu phẩy.
5/ Ta có thể sử dụng nhiều vòng for lồng nhau.
6/ Khi sử dụng break trong thân vòng for, chương trình sẽ nhảy ra khỏi vòng for gần nhất.
7/ Sử dụng từ khóa continue để bỏ qua các lệnh còn lại trong vòng for và chuyển tới điểm bắt đầu của vòng lặp mới.

Ví dụ 1: Sử dụng vòng lặp for in ra màn hình từ 0 – 5 trên mỗi dòng.

package net.vncoding;

public class ForStatement {

    public static void main(String[] args) {
        
        for (int i = 0; i < 6; i++) {
            
            System.out.println(i);
        }
    }
}

Kết quả:
0
1
2
3
4
5

Ví dụ 2: In ra màn hình từ 0 – 5, khuyết biểu thức điều kiện trong vòng lặp for.

package net.vncoding;

public class ForStatement {

    public static void main(String[] args) {
        
        for (int i = 0; ; i++) {
            
            System.out.println(i);
            if(i == 5)
            	break;
        }
    }
}

Vòng lặp for thiếu biểu thức điều kiện 2 sẽ trở thành vòng lặp vô hạn. Do vậy, trong body của vòng lặp for sử dụng lệnh break nếu giá trị i = 5. Nói cách khác, lệnh break thay cho biểu thức 2.

Kết quả:
0
1
2
3
4
5

Ví dụ 3: In ra màn hình từ 0 – 5, khuyết biểu thức 3 trong vòng lặp for.

package net.vncoding;

public class ForStatement {

    public static void main(String[] args) {
        
        for (int i = 0; i < 6 ; ) {
            
            System.out.println(i);
            i++;
        }
    }
}

Một cách viết khác, biểu thức 3 có thể viết trong body của vòng lặp.

Kết quả:
0
1
2
3
4
5

Ví dụ 4: Sử dụng vòng lặp for duyệt mảng
In chuỗi trong mảng String theo chiều xuôi và ngược.

package net.vncoding;

public class ForStatement2 {

    public static void main(String[] args) {
        
        String[] planets = {"Mercury", "Venus", "Earth",
            "Mars", "Jupiter", "Saturn", "Uranus", "Pluto"};

        for (int i = 0; i < planets.length; i++) {
            
            System.out.println(planets[i]);
        }

        System.out.println("In reverse:");

        for (int i = planets.length - 1; i >= 0; i--) {
            
            System.out.println(planets[i]);
        }
    }
}

Biến ‘i’ là chỉ số của mảng String

Kết quả:
Mercury
Venus
Earth
Mars
Jupiter
Saturn
Uranus
Pluto
In reverse:
Pluto
Uranus
Saturn
Jupiter
Mars
Earth
Venus
Mercury

Ngoài ra, còn 1 cách viết vòng lặp khách gọi là vòng lặp cải tiến (enhanced for). Gọn nhẹ và dễ đọc hơn !!!
Ví dụ 5: Sử dụng vòng lặp cải tiến in ra màn hình từ 1 – 5

package net.vncoding;

class EnhancedForDemo {
    public static void main(String[] args){
         int[] numbers = {1, 2, 3, 4, 5};
         for (int item : numbers) {
             System.out.println("Count is: " + item);
         }
    }
}

Biến ‘item’ giữ giá trị phần tử mảng qua mỗi lần lặp.

Kết quả:
Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5

Be the first to comment

Leave a Reply