Vòng lặp while được chia ra làm 2 loại: while và do while. vậy 2 dạng này khác nhau như thế nào, đơn giản là while sẽ kiểm tra điều kiện lặp trước rồi thực hiện, còn do while là thực hiện trước đã rồi mới kiểm tra.

1. Dạng while

Cú pháp:

while (<biểu thức điều kiện>) {

<khối lệnh lặp lại>

}

Trong đó: <biểu thức điều kiện> là biểu thức trả về giá trị true or false

Ý nghĩa: Trong vòng lặp while, biểu thức điều kiện sẽ được kiểm tra đầu tiên, nếu điều kiện đúng thì khối lệnh sẽ được thực hiện. Sau một lần lặp, điều kiện sẽ được kiểm tra lại và quá trình này sẽ tiếp tục cho đến khi điều kiện sai.

Ví dụ: Tính tổng s = 1+ 2 + 3 + 4

Kết quả:

Tong la:10

2. Dạng do while

Cú pháp:

do {

<khối lệnh lặp lại>

while (<biểu thức điều kiện>);

Ý nghĩa: Trong vòng lặp do-while, đầu tiên sẽ thực hiện khối lệnh sau đó mới kiểm tra biểu thức điều kiện, nếu điều kiện đúng thì khối lệnh sẽ được thực hiện cho đến khi điều kiện sai.

Lưu ý: Đối với dowhile thì khối lệnh được thực hiện ít nhất 1 lần, còn với while thì khối lệnh có thể sẽ không được thực hiện bao giờ nếu điều kiện lặp không thỏa.

Ví dụ:

Lưu ý: Câu lệnh lặp while vô tận

Phải kiểm tra điều kiện dừng có thể xảy ra không?

Bởi vì ta phải đặt điền kiện sai thì mới dừng vòng lặp. Nếu bạn để điều kiện lặp là true thì vòng lặp while sẽ chạy đến vô tận… Có nghĩa, chúng ta cần phải đảm bảo điều kiện dừng sẽ phải xảy ra.

Đến khi bạn stop chương trình đối với mỗi IDE (Eclipse, Netbean…) hoặc bấm Ctrl + C khi chạy bằng command hoặc đến khi hết bộ nhớ (StackOverflow).

Ví dụ:

3. Break và Continue

  • break: Dùng để kết thúc sớm một vòng lặp (for, while, do..while) hoặc thoát khỏi khối switch. Khi gặp break, chương trình sẽ thoát ra khỏi vòng lặp hiện tại ngay lập tức, bỏ qua các lệnh còn lại trong vòng lặp.
  • continue: Dùng để bỏ qua các lệnh còn lại của lần lặp hiện tại và chuyển sang lần lặp tiếp theo. Vòng lặp sẽ tiếp tục với điều kiện kiểm tra của lần lặp tiếp theo mà không kết thúc vòng lặp.

CÂU HỎI VÀ BÀI TẬP

1. Cú pháp và cách hoạt động của vòng lặp while trong Java là gì? Khi nào vòng lặp này dừng lại?

2. Sự khác biệt giữa vòng lặp while và vòng lặp do..while trong Java là gì? Trong trường hợp nào bạn nên sử dụng do..while thay vì while?

3. Làm thế nào để tránh vòng lặp vô hạn khi sử dụng while hoặc do..while? Hãy nêu một ví dụ về vòng lặp vô hạn và cách khắc phục nó.

4. Viết một chương trình Java sử dụng vòng lặp do..while để yêu cầu người dùng nhập một số nguyên. Chương trình sẽ tiếp tục yêu cầu nhập nếu số nguyên đó nhỏ hơn 0. Khi người dùng nhập một số nguyên lớn hơn hoặc bằng 0, chương trình sẽ dừng lại, kiểm tra và in ra số đó là số chẵn hay số lẻ.