Chào các bạn đã đến với chủ đề tiếp theo của mình. Hôm nay, mình sẽ tiếp tục giới thiệu về vòng lặp while và cách sử dụng nó trong Java. Ở bài này, mình sẽ đi qua những nội dung như sau:
Nội dung
1. Vòng lặp WHILE là gì? Tiến trình hoạt động như thế nào?
Bản chất của vòng lặp trong lập trình là ta muốn một vài dòng code được chạy đi chạy lại nhiều lần đến một điều kiện nào đó sẽ kết thúc.
Trong vòng lặp WHILE, ta sẽ tạo một điều kiện cho vòng lặp, nếu điều kiện đúng thì khối lệnh lặp sẽ thực hiện cho đến khi điều kiện sai
Ví dụ: Ta tạo một biến chạy là index với lúc đầu giá trị bằng 0, ta sẽ in ra giá trị index rồi tăng nó lên một đơn vị cho đến khi index lớn 10.
2. Cấu trúc vòng lặp WHILE
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.
2.1. Dạng WHILE
Cú pháp:
while (<Biểu thức điều kiện>) {
<Khối lệnh lặp lại>
}
Ý nghĩa:
- Nếu <Biểu thức điều kiện> trả về true thì sẽ thực hiện <Khối lệnh lặp lại> cho đến khi <Biểu thức điều kiện> trả về false.
Ví dụ:
class Main {
public static void main(String[] args) {
// create the count variable
int count = 1;
while (count <= 5) {
System.out.println("Count = " + count);
count = count + 1;
}
}
}
Sau khi run xong, kết quả sẽ in ra như sau:
Count = 1
Count = 2
Count = 3
Count = 4
Count = 5
Trong chương trình, chúng ta thêm câu lệnh count = count + 1
để tăng giá trị của count
lên 1 trong mỗi lần lặp của vòng lặp.
Cách chương trình hoạt động:
Biến | count <= 5 | Phần thân vòng lặp |
count = 1 | true | Count = 1 được in ra. count tăng lên thành 2. |
count = 2 | true | Count = 2 được in ra. count tăng lên thành 3. |
count = 3 | true | Count = 3 được in ra. count tăng lên thành 4. |
count = 4 | true | Count = 4 được in ra. count tăng lên thành 5. |
count = 5 | true | Count = 5 được in ra. count tăng lên thành 6. |
count = 6 | false | Vòng lặp kết thúc. |
Sau khi vòng lặp kết thúc, dòng System.out.println("OUTSIDE THE LOOP");
được thực thi vì nó nằm ngoài vòng lặp.
2.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:
- Khi đến dạng vòng lặp thì ngay lập tức sẽ thực hiện <Khối lệnh lặp lại>. Sau đó sẽ kiểm tra nếu <Biểu thức điều kiện> trả về true thì sẽ thực hiện lại <Khối lệnh lặp lại> cho đến khi <Biểu thức điều kiện> trả về false.
Ví dụ:
class Main {
public static void main(String[] args) {
int count = 1;
do {
System.out.println("Count = " + count);
count = count + 1;
} while (count <= 5);
}
}
Khi run đoạn code trên, kết quả trả về như sau:
Count = 1
Count = 2
Count = 3
Count = 4
Count = 5
Cách chương trình hoạt động trong mỗi lần lặp của đoạn code trên:
Biến | Phần thân vòng lặp | i <= 5 |
count = 1 | Count = 1 được in ra.count tăng lên thành 2. | true |
count = 2 | Count = 2 được in ra.count tăng lên thành 3. | true |
count = 3 | Count = 3 được in ra.count tăng lên thành 4. | true |
count = 4 | Count = 4 được in ra.count tăng lên thành 5. | true |
count = 5 | Count = 5 được in ra.count tăng lên thành 6. | false (vòng lặp kết thúc) |
3. Lưu ý 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 câu điền kiện phải sai thì mới dừng vòng lặp. 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.
Ví dụ như sau:
class Main {
public static void main(String[] args) {
// create the count variable
int count = 1;
while (count <= 5) {
System.out.println("I am inside a loop");
}
// code outside loop
System.out.println("OUTSIDE THE LOOP");
}
}
Nếu bạn chạy chương trình, câu lệnh bên trong vòng lặp sẽ được thực thi lặp đi lặp lại mà không kết thúc
I am inside a loop
I am inside a loop
I am inside a loop
I am inside a loop
I am inside a loop
...
Hãy cùng phân tích hoạt động của đoạn code trên
count
là 1. Do đó, biểu thức booleancount <= 3
được đánh giá làtrue
và phần thân vòng lặp được thực thi.- Sau đó,
count <= 3
được kiểm tra lại. Một lần nữa, biểu thức được đánh giá làtrue
và phần thân vòng lặp được thực thi. - Trong chương trình này,
count <= 5
không bao giờ được đánh giá làfalse
, do đó vòng lặp sẽ chạy mãi mãi.
Đây được gọi là vòng lặp vô hạn vì biểu thức boolean không bao giờ trở thành false
; vòng lặp chạy mãi mãi và phần code sau vòng lặp không bao giờ được thực thi.
Tuy nhiên, trong hầu hết các trường hợp, thay vì chạy một vòng lặp mãi mãi, chúng ta muốn vòng lặp kết thúc tại một thời điểm nào đó.
4. Kết
Như vậy chúng ta đã tìm hiểu vòng lặp while trong Java. Cảm ơn các bạn đã theo dõi bài viết của mình. Chúc các bạn thành công. Hẹn gặp lại các bạn ở những chủ đề tiếp theo. Bái bai.