1. Cú pháp, cách hoạt động và công dụng vòng lặp do – while.
Công dụng.
Vòng lặp do - while
là cấu trúc điều khiển lặp được dùng để thực hiện một lệnh hay một khối lệnh với số lần lặp chưa xác định trước nhưng khác với while
, cấu trúc do - while
chỉ kiểm tra điều kiện lặp sau khi thân vòng lặp đã được thực hiện một lần.
Cú pháp.
do { // Các lệnh } while (điều_kiện_lặp); // Lệnh kế tiếp
trong đó:
điều_kiện_lặp
là biểu thức để xác định điều kiện lặp. Biểu thức này phải trả về giá trị là đúng (true
) hoặc sai (false
).- Các lệnh nằm trong cặp dấu
{}
là thân của vòng lặp.
Cách hoạt động.
Lưu đồ hoạt động của vòng lặp do – while như sau:
Đầu tiên, các lệnh nằm trong thân của vòng lặp do - while
sẽ được thực hiện. Sau khi thực hiện xong các lệnh này thì biểu thức điều_kiện_lặp
sẽ được kiểm tra: nếu biểu thức này có giá trị đúng (true
) thì tiếp tục quay lại thực hiện các lệnh trong thân vòng lặp. Nếu đến một lúc nào đó biểu thức điều_kiện_lặp
có giá trị sai (false
) thì các lệnh trong thân vòng lặp sẽ không được thực hiện và vòng lặp do - while
sẽ kết thúc.
Lưu ý: Vòng lặp do - while
thực hiện các câu lệnh trong thân vòng lặp trước rồi mới kiểm tra điều kiện nên các câu lệnh nằm trong thân vòng lặp sẽ được thực hiện ít nhất là một lần. Sau đó, tùy theo kết quả của biểu thức điều kiện, chương trình sẽ tiếp tục thực hiện hoặc thoát ra khỏi vòng lặp và thực hiện các lệnh nằm ngoài vòng lặp. Nó hoàn toàn ngược với vòng lặp while
: vòng lặp while
kiểm tra trước rồi mới thực hiện, còn do - while
thực hiện trước rồi mới kiểm tra (trong một số trường hợp thì kết quả của 2 vòng lặp này là giống nhau nên các bạn cố gắng nắm chắc 2 loại vòng lặp này để lựa chọn loại vòng lặp phù hợp với yêu cầu của chương trình).
2. Ví dụ.
Viết chương trình nhập vào các số nguyên và tính tổng các số đó, nếu tổng lớn hơn > 100 thì kết thúc vòng lặp và hiển thị thông báo tổng của các số đã nhập.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package vong_lap_do_while; import java.util.Scanner; public class TinhTongCacSoNguyen { public static void main(String[] args) { int number, sum = 0 ; Scanner scanner = new Scanner(System.in); // bắt đầu vòng lặp // điều kiện sum < 100 chỉ được thực hiện sau khi thân vòng lặp đã được thực hiện. do { System.out.println( "Nhập vào số nguyên bất kỳ: " ); number = scanner.nextInt(); sum += number; // sum = sum + number; } while (sum < 100 ); System.out.println( "Tổng các số nguyên vừa nhập = " + sum); } } |
Kết quả sau khi biên dịch chương trình:
Quá trình hoạt động của chương trình này như sau:
Bước 1: Khởi tạo biến tổng sum = 0
.
Bước 2: Nhập vào số nguyên number = 1
và thực hiện tính tổng, lúc này sum = sum + number = 0 + 1 = 1
.
Bước 3: Kiểm tra sum < 100
đúng nên nhập vào số 6 và thực hiện lệnh sum = sum + number = 1 + 6 = 7
.
Bước 4: Kiểm tra sum < 100
đúng nên nhập vào số 9 và thực hiện lệnh sum = sum + number = 7+ 9 = 16
.
Bước 5: Kiểm tra sum < 100
đúng nên nhập vào số 15 và thực hiện lệnh sum = sum + number = 16 + 15 = 31
.
Bước 6: Kiểm tra sum < 100
đúng nên nhập vào số 18 và thực hiện lệnh sum = sum + number = 31 + 18 = 49
.
Bước 7: Kiểm tra sum < 100
đúng nên nhập vào số 1 và thực hiện lệnh sum = sum + number = 49 + 1 = 50
.
Bước 8: Kiểm tra sum < 100
đúng nên nhập vào số 20 và thực hiện lệnh sum = sum + number = 50 + 20 = 70
.
Bước 9: Kiểm tra sum < 100
đúng nên nhập vào số 55 và thực hiện lệnh sum = sum + number = 70 + 55 = 125
.
Bước 10: Kiểm tra sum < 100
sai nên kết thúc vòng lặp do - while
và hiển thị tổng sum = 125
ra màn hình.
3. Lời kết.
Trong bài này tôi đã giới thiệu đến các bạn cấu trúc lặp đầu tiên đó là cấu trúc vòng lặp do – while bao gồm cú pháp, công dụng và ví dụ minh họa. Chúc các bạn học tốt.
Theo: freetuts.net