1. Vòng lặp ngược
Java có một loại while
vòng lặp khác - do-while
vòng lặp. Nó rất giống với while
vòng lặp thông thường và cũng chỉ bao gồm hai phần: "điều kiện" và "phần thân vòng lặp". Thân vòng lặp được thực hiện lặp đi lặp lại miễn là điều kiện là true
. Nói chung, một do-while
vòng lặp trông như thế này:
do
statement;
while (condition);
hoặc
do
{
block of statements
}
while (condition);
Đối với một while
vòng lặp, trình tự thực hiện là: điều kiện , thân vòng lặp , điều kiện , thân vòng lặp , điều kiện , thân vòng lặp , ...
Nhưng đối với do-while
vòng lặp thì hơi khác một chút: thân vòng lặp , điều kiện , thân vòng lặp , điều kiện , thân vòng lặp , ...
Trên thực tế, điểm khác biệt duy nhất giữa while
vòng lặp và do-while
vòng lặp là thân vòng lặp được thực hiện ít nhất một lần cho một do-while
vòng lặp.
2. Lợi ích của việc sử dụng do-while
vòng lặp
Về cơ bản, điểm khác biệt duy nhất giữa do-while
vòng lặp và while
vòng lặp là phần thân của do-while
vòng lặp được thực hiện ít nhất một lần.
Nói chung, một do-while
vòng lặp được sử dụng khi không cần kiểm tra điều kiện vòng lặp nếu phần thân vòng lặp chưa được thực thi. Ví dụ: nếu một số phép tính nhất định được thực hiện trong thân vòng lặp và sau đó được sử dụng trong điều kiện .
Ví dụ:
Chương trình đọc các dòng từ bàn phím cho đến khi từ exit
được nhập
trong khi | làm trong khi |
---|---|
|
|
Các câu lệnh break
và continue
trong một do-while
vòng lặp hoạt động giống như trong một while
vòng lặp.
3. So sánh do-while
vòng lặp: Java vs Pascal
Một lần nữa, Pascal có một dạng tương tự của do-while
vòng lặp, nhưng nó được gọi là repeat-until
vòng lặp. Ngoài ra, nó hơi khác so với do-while
vòng lặp. Trong một repeat-until
vòng lặp, điều kiện cho biết khi nào nên thoát khỏi vòng lặp hơn là khi nào nên tiếp tục vòng lặp đó.
Ví dụ:
pascal | Java |
---|---|
|
|
So với Java, cách Pascal thể hiện điều này hết sức đẹp mắt. Chúng ta phải bắt đầu với các ví dụ từ Pascal, nếu không bạn sẽ cười đấy.