Vòng lặp for while do while trong Java đầy đủ nhất.

Trong bài viết này mình sẽ hướng dẫn các bạn cách sử dụng các loại vòng lặp trong Java, gồm các ví dụ giúp các bạn thực hành theo bài viết luôn. Vòng lặp là một phần cơ bản và rất quan trọng trong mọi ngôn ngữ lập trình, giúp chúng ta giải quyết các công việc được lặp đi lặp lại thông qua chỉ một vài câu lệnh đơn giản.

Theo mình thì việc học lập trình cũng giống như xây nhà vậy kiến thức lập trình cơ bản là một viên gạch quan trọng để làm chắc cái móng, sau đó từ cái móng này chúng ta muốn xây lên bao nhiêu tầng cũng được, thích dùng công nghệ hay framework nào cũng ok.

Nói lý thuyết vòng vòng vậy đủ rồi, chúng ta bắt đầu vào bài học luôn các bạn nhé.
1. Giới thiệu một số cấu trúc lặp cơ bản trong Java
Trong hầu hết các ngôn ngữ lập trình như Java, Python, C$,… khi nhắc đến chữ vòng lặp thì có tổng cộng 3 cái tên tiêu biểu nhất mà chúng ta thường xuyên sử dụng
đó là:

+ Cấu trúc của vòng lặp FOR

+ Cấu trúc vòng lặp WHILE

+ Cấu trúc vòng lặp DO WHILE

Theo mình nghĩ là dăm ba cái vòng lặp này không khó, các bạn chỉ cần đọc bài viết và thực hành lại là được.
1.1. Cấu trúc vòng lặp FOR:
Vòng lặp for thường được ưu tiên sử dụng khi bạn biết chính xác số lần lặp lại của đoạn code bên trong
Cú pháp:

for (<khởi tạo biến>; <biểu thức điều kiện> ;<tăng giảm biến> ){

    // code xử lý bên trong

}

Trong đó:
Khởi tạo biến chạy: Khai báo biến để đánh dấu sự bắt đầu của vòng lặp.
Biểu thức điều kiện: là một biểu thức kiểm tra, biểu thức này trả về giá trị đúng (true) hoặc sai (false). Đây cũng chính là điều kiện dừng của vòng lặp, vòng lặp sẽ còn chạy khi điều kiện này còn đúng, khi điều kiện này sai vòng lặp sẽ dừng.
Tăng hoặc giảm biến: Cứ qua mỗi lần lặp, giá trị của biến sẽ thay đổi, thường biến này sẽ tác động đến biểu thức điều kiện để khiến nó false sau khi chạy qua một số bước lặp.

1.2. Vòng lặp WHILE
Vòng lặp while thường được sử dụng khi bạn không thể xác định trước được số lần lặp cụ thể của chương trình.
Cú pháp:

while(<biểu thức điều kiện>) {

    // code xử lý bên trong

}

Đầu tiên, vòng lặp WHILE  sẽ kiểm tra biểu thức điều kiện trước,khi điều kiện đúng(true) thì các câu lệnh bên trong sẽ được thực thi. Hay nói cách khác khi nào mà biểu thức điều kiện còn đúng thì còn chạy, biểu thức điều kiện sai thì vòng lặp sẽ dừng.
Thường thì các câu lệnh sẽ tác động đến biểu thức điều kiện khiến nó trả về false dẫn đến vòng lặp sẽ dừng qua các lần lặp.
1.3. Vòng lặp DO WHILE
Vòng lặp DO WHILE khá là giống với vòng lặp WHILE, điểm khác nhau giữa 2 vòng lặp này đó là, đối với DO WHILE thì ngay cả khi biểu thức điều kiện sai ngay từ đầu thì nó cũng chạy ít nhất 1 lần lặp.
Hay nói cách khác, vòng lặp DO WHILE sẽ chạy trước 1 sau đó mới kiểm tra biểu thức điều kiện.
Cú pháp:

do {

    // code xử lý bên trong

} while(<biểu thức điều kiện>);

Quan sát cú pháp này ta thấy biểu thức điều kiện của vòng lặp DO WHILE trong Java được kiểm tra sau khi thực hiện code xử lý bên trong và cập nhật tăng giảm giá trị  của biến.
Nếu biểu thức điều kiện còn đúng thì lần lặp tiếp theo sẽ tiếp tục được chạy, còn nếu biểu thức điều kiện sai thì vòng lặp sẽ dừng ngay lập tức.

2. Áp dụng lý thuyết vòng lặp vào các bài tập cụ thể:
Mình sẽ không chém gió phần lý thuyết suông nữa, chúng ta sẽ cùng nhau code thử một số ví dụ để hiểu hơn nào.
Ví dụ 1: In ra các số nguyên từ 1 đến 1000
Nếu chưa học vòng lặp, ta phải dùng câu lệnh System.out.println() từ 1 đến 1000 là đuối luôn.
Các bạn xem đoạn code sau đây: rất ngắn gọn và dễ hiểu.

// Sử dụng vòng lặp FOR:
public class LoopForDemo {

    public static void main(String[] args) {

        // in ra màn hình các số nguyên từ 1 đến 1000

        for(int i = 1; i <= 1000; i++) {

            System.out.print(i+ “ ”);

// in ra màn hình các số nguyên từ 1 đến 1000 trên 1 dòng.

        }

    }

}
//Sử dụng vòng lặp WHILE
public class WhileDemo {

    public static void main(String[] args) {

        // in ra màn hình các số nguyên từ 1 đến 1000

        int i = 1;

        while(i <= 1000) {

            System.out.print(i+ “ ”);

            i++;

        }

    }

}
//Sử dụng vòng lặp DO WHILE:

public class DoWhileDemo {

    public static void main(String[] args) {

        int i = 1;
      do {

            System.out.print(i+ “ ”);

            i++;

        } while (i <= 1000);

    }
}

Ví dụ 2: Tổng số nguyên từ 1 đến 1000

// Sử dụng vòng lặp FOR:

public class LoopForDemo {

    public static void main(String[] args) {

        // Tính tổng các số nguyên từ 1 đến 1000

        int tong = 0;

        for(int i = 1; i <= 1000; i++) {

            tong += i;

        }

        System.out.println(“Tổng từ 1 đến 1000: ”+  tong);

    }

}
// Sử dụng vòng lặp WHILE:

public class WhileDemo {

    public static void main(String[] args) {

        // Tính tổng các số nguyên từ 1 đến 1000

        int i = 1;

        int tong = 0;

        while (i <= 1000) {

            tong +=i;

            i++;

        }

        System.out.println(“Tổng từ 1 đến 1000: ”+  tong);

    }

}

//Sử dụng vòng lặp DO-WHILE:

public class DoWhileDemo {

    public static void main(String[] args) {

        // Tính tổng các số nguyên từ 1 đến 1000

        int i = 1;

        int tong = 0;

        do {

            tong = tong + i;

            i++;

        } while (i <= 1000);

        System.out.println(“Tổng từ 1 đến 1000: ”+  tong);

    }

}

Ví dụ 3: In ngược các giá trị của một mảng String[]

// Sử dụng vòng lặp FOR:

public class LoopForDemo {

    public static void main(String[] args) {

        // Khởi tạo một mảng chuỗi String[]

        String[] itForStudents = {

            “LT JAVA”,

            “LT C#”,

            “LT Python”,

            “LT JavaScript”,

            “LT HTML”,

            “LT CSS”,

            “LT PHP”

        };

        // Tiến hành in ngược các giá trị trong mảng itForStudents

        for (int i = itForStudents.length; i > 0 ; i–)

        System.out.print(itForStudents[i-1]+ “ ”);

    }

}
 
//Sử dụng vòng lặp WHILE:

public class VongLapWhile {

    public static void main(String[] args) {

                // Khởi tạo một mảng chuỗi String[]

        String[] itForStudents = {

            “LT JAVA”,

            “LT C#”,

            “LT Python”,

            “LT JavaScript”,

            “LT HTML”,

            “LT CSS”,

            “LT PHP”

        };

        int i = itForStudents.length – 1;

        // Tiến hành in ngược các giá trị trong mảng itForStudents

        while (i >= 0) {

            System.out.print(itForStudents[i]+ “ ”);

            i–;

        }

    }

//Sử dụng vòng lặp DO WHILE:

public class DoWhileDemo {

    public static void main(String[] args) {

        // Khởi tạo một mảng chuỗi String[]

        String[] itForStudents = {

            “LT JAVA”,

            “LT C#”,

            “LT Python”,

            “LT JavaScript”,

            “LT HTML”,

            “LT CSS”,

            “LT PHP”

        };

        int i = itForStudents.length – 1;

        // Tiến hành in ngược các giá trị trong mảng itForStudents

        do {

            System.out.print(itForStudents[i]+ “ ”);

            i–;

        } while (i >= 0);

    }

}

Ngoài ra để hiểu rõ hơn về vòng lặp FOR trong Java.
Các bạn có thể xem video hướng dẫn của mình trên Youtube tại đây:

3. Kết luận:
Nếu bạn đọc được tới đây, chứng tỏ bạn là main Java chính hiệu rồi, các bạn có thể đọc thêm các bài viết của mình tại menu Lập trình Java và xem thêm video hướng dẫn lập trình của mình tại kênh youtube: https://youtube.com/itforstudent. Chúc các bạn học lập trình hiệu quả!.