Vòng do-while rất giống với vòng while, khác biệt là ở chỗ
thân vòng lặp sẽ được thực hiện trước, sau đó mới kiểm tra điều kiện lặp, nếu
đúng thì quay lại chạy thân vòng lặp, nếu sai thì dừng vòng lặp. Khác biệt đó
có nghĩa rằng thân của vòng do-while luôn được chạy ít nhất một lần, trong khi
thân vòng while có thể không được chạy lần nào.
Công thức của vòng do-while tổng quát là:
do
thân_vòng_lặp
while (điều_kiện_lặp);
Tương tự như ở vòng while, thân_vòng_lặp của vòng do-while có
thể chỉ gồm một lệnh hoặc thường gặp hơn là một chuỗi lệnh được bọc trong một cặp
ngoặc { }. Lưu ý dấu chấm phảy đặt cuối toàn bộ khối do-while.
Công thức tổng quát của vòng do-while ở trên tương đương với
công thức sau nếu dùng vòng while:
thân_vòng_lặp
while (điều_kiện_lặp)
thân_vòng_lặp
Để minh họa hoạt động của hai cấu trúc lặp while và do-while,
ta so sánh hai đoạn mã dưới đây:
count = 1;
while (count <= number) {
System.out.print(count + ", ");
count++;
}
và:
count = 1;
do {
System.out.print(count + ", ");
count++;
} while (count <= number);
Hai đoạn mã chỉ khác nhau ở chỗ một bên trái dùng vòng while,
bên phải dùng vòng do-while, còn lại, các phần thân vòng lặp, điều kiện, khởi tạo
đều giống hệt nhau. Đoạn bên trái được lấy từ ví dụ trong mục trước, nó in ra
các số từ 1 đến number. Đoạn mã dùng vòng do-while bên phải cũng thực hiện công
việc giống hệt đoạn bên trái, ngoại trừ một điểm: khi number nhỏ hơn 1 thì nó vẫn
đếm 1 trước khi dừng vòng lặp – thân vòng lặp chạy một lần trước khi kiểm tra
điều kiện.
Đăng nhận xét