1. Vòng lặp ngược

Java có một loại whilevòng lặp khác - do-whilevòng lặp. Nó rất giống với whilevò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-whilevò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 whilevò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-whilevò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 whilevòng lặp và do-whilevò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-whilevòng lặp.


2. Lợi ích của việc sử dụng do-whilevòng lặp

Về cơ bản, điểm khác biệt duy nhất giữa do-whilevòng lặp và whilevòng lặp là phần thân của do-whilevòng lặp được thực hiện ít nhất một lần.

Nói chung, một do-whilevò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
String s;
while (true)
{
   s = console.nextLine();
   if (s.equals("exit"))
      break;
}
String s;
do
{
   s = console.nextLine();
}
while (!s.equals("exit"));

Các câu lệnh breakcontinuetrong một do-whilevòng lặp hoạt động giống như trong một whilevòng lặp.


3. So sánh do-whilevòng lặp: Java vs Pascal

Một lần nữa, Pascal có một dạng tương tự của do-whilevòng lặp, nhưng nó được gọi là repeat-untilvòng lặp. Ngoài ra, nó hơi khác so với do-whilevòng lặp. Trong một repeat-untilvò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
Repeat
   ReadLn(s);
Until s = 'exit';
String s;
do {
   s = console.nextLine();
}
while ( !s.equals("exit") );

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.


2
Nhiệm vụ
Java Syntax,  mức độbài học
Đã khóa
Cat's finalize method
It's difficult to accidentally lose an object: as long as you have even one reference to an object, it remains alive. But if not, then the object is approached by the finalize method, an unpredictable assassin that works for the Java machine. Let's create this method ourselves: protected void finalize() throws Throwable. The last two words will become clear a little later.