Vòng lặp for, while, do-while trong Java

Khi chúng ta cần thực hiện một đoạn code một vài lần, điều này có thể được xem như một vòng lặp.

Java có 3 kỹ thuật lặp linh động, bạn có thể sử dụng một trong ba vòng lặp sau:

  • Vòng lặp for
  • Vòng lặp while
  • Vòng lặp do…while

Trong Java 5, vòng lặp foreach (hay enhanced for) đã được giới thiệu. Vòng lặp này được sử dụng chủ yếu cho các mảng.

1. Vòng lặp for

Vòng lặp for trong java được sử dụng để lặp một phần của chương trình nhiều lần. Nếu số lần lặp là cố định thì vong lặp for được khuyến khích sử dụng, còn nếu số lần lặp không cố định thì nên sử dụng vòng lặp while hoặc do while.

Các kiểu của vòng lặp for trong java:

  • Vòng lặp for đơn giản
  • Vòng lặp for cải tiến

1.1. Vòng lặp for đơn giản

Cú pháp:

for (khoi_tao_bien ; check_dieu_kien ; tang/giam_bien) { 
 // Khối lệnh được thực thi
} 

Ví dụ

package com.gpcoder;
 
public class ForSample1 {
    public static void main(String[] args) {
 
        System.out.print("Vòng lặp for với biến tăng: ");
        for (int i = 1; i <= 5; i++) { System.out.print(i + " "); } // Hiển thị xuống dòng System.out.println(""); System.out.print("Vòng lặp for với biến giảm: "); for (int i = 5; i >= 1; i--) {
            System.out.print(i + " ");
        }
 
    }
}

Kết quả:

Vòng lặp for với biến tăng: 1 2 3 4 5
Vòng lặp for với biến giảm: 5 4 3 2 1

1.2. Vòng lặp for cải tiến

Vòng lặp for cải tiến được sử dụng để lặp mảng (array) hoặc tập hợp (collection) trong java. Bạn có thể sử dụng nó dễ dàng, dễ hơn cả vòng lặp for đơn giản. Bởi vì bạn không cần phải tăng hay giảm giá trị của biến rồi check điều kiện, bạn chỉ cần sử dụng ký hiệu hai chấm “:”

Cú pháp:

for (Type var : array) { 
 // Khối lệnh được thực thi
} 

Ví dụ:

package com.gpcoder;
 
public class ForSample2 {
    public static void main(String[] args) {
        int []arr = {
            1, 2, 3, 4, 5  
        };
        for (int i : arr) { 
            System.out.print(i + " "); 
        }
    }
}

Kết quả:

1 2 3 4 5

1.3. Vòng lặp for vô tận

Nếu bạn để điều kiện lặp là true hoặc không xác định thì vòng lặp for sẽ chạy đến vô tận… đến khi bạn stop chương trình đối với mỗi IDE (Eclipse, Netbean…) hoặc bấm Ctrl + C khi chạy bằng command hoặc đến khi hết bộ nhớ (StackOverflow).

Ví dụ:

public class ForSample3 {
    public static void main(String[] args) {
        // for (int i = 1; true; i++) {
        for (int i = 1; ; i++) {
            System.out.println(i + " ");
        }
    }
}

Kết quả:

1
2
3
4
5
6
...

Một điều khá đặc biệt là có thể sử dụng vòng lặp for vô tận, kết hợp với kiểm tra điều kiện kết thúc với lệnh break để thay thế cho vòng lặp while.

Ví dụ:

public class ForSample4 {
public static void main(String[] args) {
int i;
final int COUNT = 5;
System.out.print("Using For:   ");
i = 1;
for (;;) {
System.out.print(i + " ");
if (i == COUNT) {
break;
}
i++;
}
  System.out.println();
    System.out.print("Using While: ");
    i = 1;
    while (i &lt;= COUNT) {
        System.out.print(i + " ");
        i++;
    }
}
}

Kết quả của chương trình trên là:

Using For:   1 2 3 4 5
Using While: 1 2 3 4 5

2. Vòng lặp while

2.1. Vòng lặp while đơn giản

Vòng lặp while trong java được sử dụng để lặp một phần của chương trình một vài lần. Nếu số lần lặp không được xác định trước thì vòng lặp lặp while được khuyến khích sử dụng trong trường hợp này.

Cú pháp:

while (condition) {
// Khối lệnh được lặp lại cho đến khi condition là sai (condition = false)
}

Ví dụ:

package com.gpcoder;
 
public class WhileSample1 {
    public static void main(String[] args) {
        int i = 1;
        while (i <= 5) {
            System.out.print(i + " "); 
            i++;
        }
    }
}
&#91;/php&#93;
<!-- /wp:shortcode -->

<!-- wp:paragraph -->
<p>Kết quả:</p>
<!-- /wp:paragraph -->

<!-- wp:shortcode -->

1 2 3 4 5

2.2. Vòng lặp while vô tận

Nếu bạn để điều kiện lặp là true thì vòng lặp while sẽ chạy đến vô tận… Đến khi bạn stop chương trình đối với mỗi IDE (Eclipse, Netbean…) hoặc bấm Ctrl + C khi chạy bằng command hoặc đến khi hết bộ nhớ (StackOverflow).

Ví dụ:

package com.gpcoder;
 
public class WhileSample2 {
    public static void main(String[] args) {
        int i = 1;
        while (true) {
            System.out.println(i); 
            i++;
        }
    }
}

Kết quả:

1
2
3
4
5
6
...

3. Vòng lặp do-while trong java

3.1. Vòng lặp do-while đơn giản

Vòng lặp do-while trong java được sử dụng để lặp một phần của chương trình một vài lần. Tương tự như vòng lặp while, ngoại trừ do-while thực hiện lệnh ít nhất một lần ngay cả khi điều kiện là false.

Cú pháp:

do { 
 // Khối lệnh được thực thi
} while(condition);

Ví dụ:

package com.gpcoder;
 
public class DoWhileSample1 {
    public static void main(String[] args) {
        int i = 1;
        do {
            System.out.print(i + " "); 
            i++;
        } while (i <= 5);
    }
}
&#91;/php&#93;
<!-- /wp:shortcode -->

<!-- wp:paragraph -->
<p>Kết quả:</p>
<!-- /wp:paragraph -->

<!-- wp:shortcode -->

1 2 3 4 5

3.2. Vòng lặp do-while vô tận

Nếu bạn để điều kiện lặp là true thì vòng lặp do-while sẽ chạy đến vô tận… Đến khi bạn stop chương trình đối với mỗi IDE (Eclipse, Netbean…) hoặc bấm Ctrl + C khi chạy bằng command.

Ví dụ:

package com.gpcoder;
 
public class DoWhileSample2 {
    public static void main(String[] args) {
        int i = 1;
        do {
            System.out.println(i); 
            i++;
        } while (true);
    }
}

Kết quả:

1
2
3
4
5
6
...

Như vậy là chúng ta đã tìm hiểu xong các loại vòng lặp trong Java. Ở bài viết tiếp theo, chúng ta sẽ tìm hiểu Câu lệnh điều khiển vòng lặp trong Java (break, continue).

Related posts:

Java Program to Implement ArrayDeque API
A Guide to the finalize Method in Java
Java Program to Implement Hopcroft Algorithm
Java Program to Implement Suffix Tree
Removing Elements from Java Collections
Java Program to Implement Regular Falsi Algorithm
Tổng quan về ngôn ngữ lập trình java
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
An Intro to Spring Cloud Zookeeper
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm
A Quick Guide to Spring MVC Matrix Variables
Array to String Conversions
Java Program to Solve Travelling Salesman Problem for Unweighted Graph
Overview of Spring Boot Dev Tools
Hướng dẫn sử dụng Lớp FilePermission trong java
Allow user:password in URL
Java Program to Implement a Binary Search Algorithm for a Specific Search Sequence
A Guide to EnumMap
Spring MVC and the @ModelAttribute Annotation
Lập trình đa luồng với CompletableFuture trong Java 8
Java Program to Implement Branch and Bound Method to Perform a Combinatorial Search
The Registration Process With Spring Security
Spring Boot - Exception Handling
New in Spring Security OAuth2 – Verify Claims
Introduction to Spring Cloud OpenFeign
Java Program to Solve a Matching Problem for a Given Specific Case
Servlet 3 Async Support with Spring MVC and Spring Security
Deque và ArrayDeque trong Java
Collection trong java
Removing all duplicates from a List in Java
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Converting String to Stream of chars