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.
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
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
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
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 <= COUNT) { System.out.print(i + " "); i++; } } }
Kết quả:
Using For: 1 2 3 4 5 Using While: 1 2 3 4 5
Vòng lặp while
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++; } } }
Kết quả:
1 2 3 4 5
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 ...
Vòng lặp do-while trong java
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); } }
Kết quả:
1 2 3 4 5
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).