Bài 25. Vòng Lặp do-while Trong Java | Tự Học Java Căn Bản
- Published on

Vòng lặp do-while là gì?
Trong lập trình Java, vòng lặp do-while là một trong ba loại vòng lặp cơ bản, bên cạnh for và while. Nó được sử dụng khi bạn muốn khối lệnh chạy ít nhất một lần trước khi kiểm tra điều kiện lặp.
Vòng lặp do-while có cú pháp đơn giản và hữu ích trong nhiều tình huống, chẳng hạn như nhập dữ liệu từ người dùng cho đến khi nhập đúng, hoặc thực hiện một hành động ít nhất một lần rồi mới kiểm tra điều kiện dừng.
Cú pháp vòng lặp do-while trong Java
Cú pháp của vòng lặp do-while trong Java như sau:
do {
// Khối lệnh được thực thi ít nhất một lần
} while (điều kiện);
Cách hoạt động của vòng lặp do-while:
- Chạy khối lệnh bên trong
doít nhất một lần. - Sau khi thực hiện xong, kiểm tra điều kiện trong
while. - Nếu điều kiện đúng, vòng lặp tiếp tục chạy.
- Nếu điều kiện sai, vòng lặp kết thúc.
Ví dụ cơ bản về vòng lặp do-while
Dưới đây là hai đoạn ví dụ về vòng lặp do-while:
- Vòng lặp
do-whilevới điều kiện sai ngay từ đầu
2️. Vòng lặpdo-whilekiểm tra nhập liệu từ người dùng
Ví dụ 1: Vòng lặp do-while với điều kiện sai ngay từ đầu
Mặc dù điều kiện sai (i < 5 là false ngay từ đầu), vòng lặp vẫn chạy ít nhất một lần.
public class DoWhileWrongCondition {
public static void main(String[] args) {
int i = 10; // i khởi tạo với giá trị không thỏa mãn điều kiện
do {
System.out.println("Vòng lặp do-while chạy một lần!");
} while (i < 5); // Điều kiện sai ngay từ đầu
System.out.println("Vòng lặp do-while kết thúc.");
}
}
Kết quả:
Vòng lặp do-while chạy một lần!
Vòng lặp do-while kết thúc.
Giải thích:
- Dù
i = 10không thỏa mãni < 5, vòng lặp vẫn chạy một lần trước khi kiểm tra điều kiện. - Sau đó, vòng lặp kết thúc vì điều kiện sai.
Ví dụ 2: Vòng lặp do-while kiểm tra nhập liệu từ người dùng
Chương trình yêu cầu người dùng nhập một số từ 1 đến 10. Nếu nhập sai, yêu cầu nhập lại.
import java.util.Scanner;
public class DoWhileUserInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
do {
System.out.print("Nhập một số từ 1 đến 10: ");
number = scanner.nextInt();
if (number < 1 || number > 10) {
System.out.println("Số không hợp lệ! Vui lòng nhập lại.");
}
} while (number < 1 || number > 10); // Kiểm tra điều kiện
System.out.println("Bạn đã nhập số hợp lệ: " + number);
scanner.close();
}
}
Ví dụ chạy chương trình:
Nhập một số từ 1 đến 10: 15
Số không hợp lệ! Vui lòng nhập lại.
Nhập một số từ 1 đến 10: 0
Số không hợp lệ! Vui lòng nhập lại.
Nhập một số từ 1 đến 10: 7
Bạn đã nhập số hợp lệ: 7
Giải thích:
- Chương trình luôn chạy ít nhất một lần để yêu cầu nhập số.
- Nếu nhập ngoài khoảng 1-10, chương trình yêu cầu nhập lại.
- Khi nhập đúng, vòng lặp dừng và in kết quả.
So sánh vòng lặp do-while với vòng lặp while
Sự khác biệt chính:
| Đặc điểm | while | do-while |
|---|---|---|
| Kiểm tra điều kiện trước | Có | Không (thực thi trước, kiểm tra sau) |
Có thể chạy 0 lần | Có (nếu điều kiện sai ngay từ đầu) | Không (luôn chạy ít nhất một lần) |
| Khi nào dùng? | Khi có thể không cần chạy lặp | Khi cần chạy ít nhất một lần |
Ứng dụng thực tế của vòng lặp do-while
Nhập số từ người dùng cho đến khi nhập đúng
Giả sử bạn muốn yêu cầu người dùng nhập một số trong khoảng từ 1 đến 10, nếu nhập sai thì yêu cầu nhập lại.
import java.util.Scanner;
public class InputValidation {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
do {
System.out.print("Nhập một số từ 1 đến 10: ");
number = scanner.nextInt();
} while (number < 1 || number > 10); // Kiểm tra điều kiện
System.out.println("Bạn đã nhập số hợp lệ: " + number);
scanner.close();
}
}
Cách hoạt động:
- Vòng lặp sẽ chạy ít nhất một lần, yêu cầu nhập số.
- Nếu số nhập vào nằm ngoài khoảng 1-10, chương trình yêu cầu nhập lại.
- Khi nhập đúng, vòng lặp dừng và in ra số hợp lệ.
Tính tổng các số cho đến khi người dùng nhập 0
import java.util.Scanner;
public class SumUntilZero {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
int sum = 0;
do {
System.out.print("Nhập một số (0 để dừng): ");
number = scanner.nextInt();
sum += number; // Cộng số vừa nhập vào tổng
} while (number != 0); // Dừng khi nhập 0
System.out.println("Tổng các số đã nhập: " + sum);
scanner.close();
}
}
Cách hoạt động:
- Chương trình yêu cầu nhập số nhiều lần.
- Nếu nhập
0, vòng lặp dừng và in tổng các số đã nhập.
Khi nào nên sử dụng vòng lặp do-while?
Sử dụng do-while trong các tình huống:
- Khi bạn cần đảm bảo khối lệnh chạy ít nhất một lần.
- Khi yêu cầu nhập dữ liệu từ người dùng và cần kiểm tra tính hợp lệ.
- Khi xử lý menu điều khiển trong các ứng dụng console.
Không nên dùng do-while khi:
- Bạn không chắc chắn rằng vòng lặp phải chạy ít nhất một lần.
- Bạn muốn kiểm tra điều kiện trước khi thực thi vòng lặp.
Kết luận
| Nội dung | Chi tiết |
|---|---|
| Chạy ít nhất 1 lần? | Có |
So sánh với |
|
| Khi nào dùng? | Khi cần chạy ít nhất một lần trước khi kiểm tra điều kiện |
| Ứng dụng | Nhập dữ liệu từ người dùng, menu console, kiểm tra điều kiện |
Tóm lại: Vòng lặp do-while rất hữu ích khi bạn cần thực thi ít nhất một lần trước khi kiểm tra điều kiện.
Bài tiếp theo: Bài 26. Cách sử dụng câu lệnh break, continue và return trong Java
Bình luận
0 bình luận
Đang tải...
Bài viết mới nhất

Chi Phí Thiết Kế Website Bán Hàng 2026: Bảng Giá Chi Tiết Từng Gói Và 9 Yếu Tố Quyết Định
Chi phí thiết kế website bán hàng 2026 là bao nhiêu? Bảng giá chi tiết từng phân khúc, 9 yếu tố quyết định giá, chi phí phát sinh hàng năm và cách nhận báo giá minh bạch không bị "chặt chém".

Tự Làm Website Hay Thuê Thiết Kế 2026: So Sánh Chi Phí, Thời Gian Và Rủi Ro
Nên tự làm website hay thuê thiết kế web? So sánh chi phí, thời gian, chất lượng và rủi ro của từng lựa chọn, kèm tiêu chí quyết định cho doanh nghiệp nhỏ năm 2026.

Làm Website Mất Bao Lâu? Thời Gian Chi Tiết Từng Loại Website (2026)
Làm website mất bao lâu? Bảng thời gian chi tiết cho từng loại website (giới thiệu, bán hàng, cao cấp), 7 yếu tố ảnh hưởng tiến độ và cách rút ngắn thời gian triển khai thực tế năm 2026.

Thiết Kế Website Nội Thất Đắk Lắk: Bảng Giá 2026, 7 Tính Năng Và SEO Địa Phương
Thiết kế website nội thất Đắk Lắk giá bao nhiêu? Bảng giá 2026 theo phân khúc, 7 tính năng website nội thất chuyên nghiệp, chi phí duy trì hàng năm và chiến lược SEO địa phương cho showroom, xưởng sản xuất tại Buôn Ma Thuột.
Bài viết liên quan

Bài 26. Cách Sử Dụng break, continue và return Trong Java | Tự Học Java Căn Bản
Hướng dẫn cách sử dụng câu lệnh break, continue và return trong Java để kiểm soát vòng lặp và luồng thực thi chương trình hiệu quả.

Bài 24. Cách Chuyển Đổi Số Từ Thập Phân Sang Nhị Phân Trong Java | Tự Học Java Căn Bản
Hướng dẫn cách chuyển đổi số từ hệ thập phân sang hệ nhị phân trong Java bằng nhiều phương pháp khác nhau, kèm theo ví dụ minh họa.

Bài 23. Cách Sử Dụng Vòng Lặp While Trong Java | Tự Học Java Căn Bản
Tìm hiểu cách sử dụng vòng lặp while trong Java với cú pháp, ví dụ thực tế và ứng dụng trong lập trình Java.

Bài 22. Cách Sử Dụng Vòng Lặp For-Each Trong Java | Tự Học Java Căn Bản
Tìm hiểu cách sử dụng vòng lặp for-each trong Java với cú pháp, ví dụ thực tế và ứng dụng trong lập trình Java.

