So sánh vòng lặp for và while
Show
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
Định nghĩa vòng lặp whileVò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-whileNhư 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. 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
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.
Sau một thời gian học đại học, mình nhận thấy có rất nhiều bạn cảm thấy khó khăn trong việc phân biệt giữa vòng lặp for và vòng lặp while trong khi học. Vì vậy, hôm nay mình sẽ viết bài viết này để giúp các bạn có cái nhìn chính xác hơn về 2 vòng lặp phổ biến này nhé. Điều đầu tiên mà ta thấy trong sự khác biệt giữa chúng là cú pháp } Ở vòng lặp for chúng ta phải truyền vào 3 biểu thức:
Tiếp theo là vòng lặp while while(condition){ //statement}Ở vòng lặp while chúng ta chỉ cần truyền vào 1 biểu thức là biểu thức điều kiện Sự khác biệt tiếp theo nằm ở chỗ cách chúng hoạt động Sơ đồ vòng lặp for Còn ở vòng lặp while sẽ có sự khác biệt. Đầu tiên, nó sẽ kiểm tra xem điều kiện. Nếu điều kiện là đúng và chúng sẽ thực hiện vòng lặp và chỉ kết thúc khi điều kiện sai Sơ đồ vòng lặp while Sự khác nhau giữa mục đích sử dụng Vòng lặp for sẽ được sử dụng khi chúng ta đã biết trước được số lần lặp cùng với đó là khi lệnh khởi tạo và lệnh tăng/giảm đơn giản VD: xét tuần tự các thành phần trong một mảng, hay xét các số trong khoảng từ m tới n,… Vòng lặp while sẽ được sử dụng khi chúng ta khó mà có thể biết được số lần lặp lại của nó hay việc khởi tạo cho vòng lặp khá phức tạp VD: tránh việc người dùng nhập sai đầu vào, kiểm tra xem hệ thống mạng có còn hoạt động hay không,… |