Đề XuấT, 2024

Editor Choice

Sự khác biệt giữa Vòng lặp while và do-while

Các câu lệnh lặp cho phép tập lệnh thực thi lặp đi lặp lại cho đến khi điều kiện không biến thành sai. Các câu lệnh lặp trong C ++ và Java là, cho vòng lặp, vòng lặp while và vòng lặp while. Những tuyên bố này thường được gọi là vòng lặp. Ở đây, sự khác biệt chính giữa vòng lặp while và vòng lặp do là điều kiện kiểm tra vòng lặp while trước khi lặp vòng lặp, trong khi vòng lặp do-while, kiểm tra điều kiện sau khi thực hiện các câu lệnh bên trong vòng lặp.

Trong bài viết này, chúng ta sẽ thảo luận về sự khác biệt giữa vòng lặp trong khi Vòng lặp và Vòng lặp do do-trong khi.

Biểu đồ so sánh

Cơ sở để so sánhtrong khilàm trong khi
Hình thức chungtrong khi (điều kiện) {
các câu lệnh; // phần thân của vòng lặp
}
làm {
.
các câu lệnh; // thân vòng lặp.
.
} while (Điều kiện);
Kiểm soát điều kiệnTrong vòng lặp 'while', điều kiện điều khiển xuất hiện ở đầu vòng lặp.Trong vòng lặp 'do-while', điều kiện điều khiển xuất hiện ở cuối vòng lặp.
Lặp lạiCác lần lặp không xảy ra nếu, điều kiện ở lần lặp đầu tiên, xuất hiện sai.Lặp lại xảy ra ít nhất một lần ngay cả khi điều kiện là sai ở lần lặp đầu tiên.

Định nghĩa vòng lặp while

Vòng lặp while là vòng lặp cơ bản nhất có sẵn trong C ++ và Java. Hoạt động của một vòng lặp while là tương tự trong cả C ++ và Java. Dạng chung của vòng lặp while là:

 while (condition) {statement; // phần thân của vòng lặp} 

Vòng lặp while trước tiên xác minh điều kiện và nếu điều kiện là đúng thì nó lặp lại vòng lặp cho đến khi điều kiện biến thành sai. Điều kiện trong vòng lặp while có thể là bất kỳ biểu thức boolean nào. Khi biểu thức trả về bất kỳ giá trị khác không, thì điều kiện đó là đúng true và nếu một biểu thức trả về giá trị 0, thì điều kiện sẽ trở thành sai false. Nếu điều kiện trở thành đúng, thì vòng lặp sẽ tự lặp lại và nếu điều kiện trở thành sai, thì điều khiển chuyển sang dòng tiếp theo của mã ngay sau vòng lặp.

Các câu lệnh hoặc phần thân của vòng lặp có thể là một câu lệnh trống hoặc một câu lệnh đơn hoặc một khối các câu lệnh.

Chúng ta hãy thảo luận về hoạt động của một vòng lặp while. Trong ví dụ dưới đây, mã sẽ in từ 1 đến 10.

 // ví dụ là trong Java. lớp trong khi {public static void main (args []) {int n = 0; while (n <= 10) {n ++; system.out.println ("n =" + n); }}} // đầu ra n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

Ở đây, giá trị ban đầu của 'n' là 0, điều này biến điều kiện trong vòng lặp while thành true. Sau đó, điều khiển đi vào phần thân của vòng lặp while và giá trị của 'n' được tăng lên theo câu lệnh đầu tiên trong phần thân của vòng lặp while. Sau đó, giá trị của 'n' được in và một lần nữa, điều khiển quay trở lại điều kiện của một vòng lặp while, bây giờ giá trị của 'n' là 1 một lần nữa thỏa mãn điều kiện và phần thân của vòng lặp được thực hiện lại.

Điều này tiếp tục cho đến khi điều kiện là đúng, ngay khi điều kiện trở thành sai, vòng lặp kết thúc. Giống như vòng lặp for, vòng lặp while trước tiên cũng kiểm tra điều kiện và sau đó thực thi thân vòng lặp.

Định nghĩa vòng lặp do-while

Như trong vòng lặp while, nếu điều kiện điều khiển chỉ trở thành sai trong lần lặp đầu tiên, thì phần thân của vòng lặp while hoàn toàn không được thực thi. Nhưng vòng lặp do-while có phần khác với vòng lặp while. Vòng lặp do-while thực thi phần thân của vòng lặp ít nhất một lần ngay cả khi điều kiện sai ở lần thử đầu tiên.

Hình thức chung của do-while như sau.

 làm {. câu lệnh // phần thân của vòng lặp. . } while (Điều kiện); 

Trong một vòng lặp do-while, phần thân của vòng lặp xảy ra trước điều kiện điều khiển và câu lệnh điều kiện nằm ở dưới cùng của vòng lặp. Như trong vòng lặp while, ở đây cũng vậy, phần thân của vòng lặp có thể trống vì cả C ++ và Java đều cho phép các câu lệnh null hoặc, chỉ có thể có một câu lệnh hoặc, một khối câu lệnh. Điều kiện ở đây cũng là một biểu thức boolean, đúng với tất cả các giá trị khác không.

Trong vòng lặp do-while, điều khiển trước tiên sẽ đến câu lệnh trong phần thân của vòng lặp do-while. Các câu lệnh trong phần thân được thực thi trước và sau đó điều khiển đạt đến phần điều kiện của vòng lặp. Điều kiện được xác minh và nếu đúng, vòng lặp được lặp lại và nếu điều kiện sai, thì điều khiển sẽ tiếp tục đến dòng tiếp theo ngay sau vòng lặp.

Hãy hiểu nó bằng cách thực hiện ví dụ trên trong do-while.

 // ví dụ là trong Java. class while {public static void main (args []) {int n = 1; làm {system.out.println ("n =" + n); n ++; } while (n <10)}} // đầu ra n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

Ở đây, giá trị của n = 1 điều khiển sẽ tiếp tục với phần thân của vòng lặp, giá trị của 'n' được in và sau đó giá trị của nó được tăng lên. Sau đó, điều khiển nối lại với điều kiện của vòng lặp do-while; điều kiện được xác minh hóa ra đúng với n = 1, do đó, vòng lặp lại lặp lại và tiếp tục cho đến khi điều kiện trở thành sai.

Sự khác biệt chính giữa Vòng lặp while và do-while

  1. Vòng lặp while kiểm tra điều kiện ở đầu vòng lặp và nếu điều kiện được thỏa mãn câu lệnh bên trong vòng lặp, được thực thi. Trong vòng lặp do-while, điều kiện được kiểm tra sau khi thực hiện tất cả các câu lệnh trong phần thân của vòng lặp.
  2. Nếu điều kiện trong một vòng lặp while là sai thì không một câu lệnh nào trong vòng lặp được thực thi và nếu điều kiện trong vòng lặp 'do-while' là sai thì thân của vòng lặp được thực thi ít nhất một lần thì điều kiện được kiểm tra.

Phần kết luận:

Cả vòng lặp while và do-while đều là câu lệnh lặp, nếu chúng ta muốn điều đó trước tiên, điều kiện cần được xác minh và sau đó các câu lệnh bên trong vòng lặp phải thực thi thì vòng lặp while được sử dụng. Nếu bạn muốn kiểm tra điều kiện kết thúc ở cuối vòng lặp, thì vòng lặp do-while được sử dụng.

Top