Ý tưởng vòng lặp while và do while trong Java giống với C++. Các bạn có thể đọc lại bài Cú pháp và cách sử dụng vòng lặp while trong C++ và Sử dụng vòng lặp do while và sự khác nhau với while để nắm rõ các ý tưởng này. Bài này sẽ trình bày các ví dụ sử dụng vòng lặp while và do while trong Java.
1. Vòng lặp while trong Java
Vòng lặp while trong Java được sử dụng để lặp lại một khối lệnh nếu thỏa điều kiện nào đó. Cú pháp của vòng lặp while như sau:
while (<điều kiện lặp>)
{
//code block
}
với <điều kiện lặp> thường là biểu thức với các toán tử quan hệ, kết quả trả về là true (0) hoặc false (0).
Nguyên lý hoạt động của vòng lặp while như sau:
Kiểm tra <điều kiện lặp>, nếu <điều kiện lặp> đúng (true) thì dòng lệnh trong while sẽ được thực thi.
Quá trình kiểm tra <điều kiện lặp> và thực thi dòng lệnh trong while sẽ chấm dứt cho đến khi <điều kiện lặp> sai (false). Tức là, nếu bất cứ khi nào <điều kiện lặp> sai (false) thì vòng lặp while sẽ chấm dứt.
class Main {
public static void main(String[] args) {
// declare variables
int i = 1, n = 5;
// while loop from 1 to 5
while(i <= n) {
System.out.println(i);
i++;
}
}
}
Kết quả
1
2
3
4
5
2. Vòng lặp do while trong Java
Vòng lặp do while cũng giống vòng lặp while nhưng khối lệnh trong vòng lặp thực hiện trước rồi mới kiểm tra điều kiện lặp sau. Cú pháp:
do {
//code block
}while (<điều kiện lặp>);
với <điều kiện lặp> thường là biểu thức với các toán tử quan hệ, kết quả trả về là true (0) hoặc false (0).
Nguyên lý hoạt động của vòng lặp do while như sau:
Thực thi dòng lệnh trong do while trước. Sau đó, kiểm tra <điều kiện lặp>, nếu <điều kiện lặp> đúng (true) thì thực thi dòng lệnh trong do while lần nữa.
Quá trình kiểm tra <điều kiện lặp> và thực thi dòng lệnh trong do while sẽ chấm dứt cho đến khi <điều kiện lặp> sai (false). Tức là, nếu bất cứ khi nào <điều kiện lặp> sai (false) thì vòng lặp do while sẽ chấm dứt.
class Main {
public static void main(String[] args) {
int i = 1, n = 5;
// do...while loop from 1 to 5
do {
System.out.println(i);
i++;
} while(i <= n);
}
}
Kết quả
1
2
3
4
5
3. Vòng lặp while vô hạn
Nếu <điều kiện lặp> của vòng lặp while và do while luôn luôn là true thì đó là vòng lặp vô hạn.
// infinite while loop
while(true){
// body of loop
}
// infinite do...while loop
int count = 1;
do {
// body of loop
} while(count == 1)
4. Trường hợp nào nên sử dụng for hoặc while?
Các vòng lặp while, do…while, và for là tương đương nhau trong nhiều trường hợp. Tuy nhiên:
Lệnh lặp for có thể sử dụng khi biết trước số lần lặp, ví dụ khi muốn in ra một thông báo 100 lần.
Lệnh lặp while có thể sử dụng khi không biết trước số lần lặp, ví dụ trong trường hợp đọc vào các số đến khi gặp số 0.
Lệnh lặp do…while có thể sử dụng thay lệnh while khi thân vòng lặp phải được thực hiện trước khi kiểm tra điều kiện tiếp tục lặp.
- Tạo thêm các ký tự mới trên LCD với board mạch Arduino
- Ghi (write), tạo (create) và xóa (delete) tập tin (file) với Python
- Một số kỹ thuật lập trình với kiểu dữ liệu cấu trúc (struct) trong C++
- Cách sử dụng câu lệnh break, continue và go to trong C++
- Sử dụng hàm isset() trong PHP để kiểm tra một biến có tồn tại hay không?