Trong Java cũng như các ngôn ngữ lập trình khác, bên cạnh cấu trúc điều khiển thì cấu trúc lặp cũng được sử dụng rất nhiều để giải quyết các yêu cầu mà chương trình đặt ra. Các cấu trúc lặp đóng vai trò thực sự quan trọng trong lập trình. Những cấu trúc này được sử dụng để thực hiện lặp đi lặp lại nhiều lần một nhóm các lệnh nào đó và sau khi quá trình lặp kết thúc thì sẽ đạt được kết quả tính toán hay xử lý cần thiết mà chúng ta mong muốn.
Nhận thấy tầm quan trọng và vai trò rất lớn của cấu trúc lặp nên mọi ngôn ngữ lập trình đều xây dựng sẵn các cấu trúc lặp này để hỗ trợ cho việc tính toán hay xử lý các vấn đề lặp. Trong ngôn ngữ lập trình Java, chúng ta có 3 loại cấu trúc lặp thường gặp đó là while
, do - while
và for
. Trong bài đầu tiên của chương này, tôi sẽ trình bày cấu trúc vòng lặp while và các vòng lặp còn lại sẽ lần lượt được trình bày trong những bài sau.
1. Cú pháp, cách hoạt động và công dụng vòng lặp while.
Công dụng.
Vòng lặp 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. Với cấu trúc này điều kiện lặp được kiểm tra trước khi thực hiện thân của vòng lặp.
Cú pháp.
1
2
3
4
|
while (điều_kiện_lặp) { // Các lệnh } // 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à<tt>true</tt>
hoặcfalse
.- 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 while như sau:
Đầu tiên, vòng lặp while
sẽ tính giá trị của biểu thức điều_kiện_lặp
. Khi biểu thức này có giá trị đúng (true
) thì những lệnh nằm trong thân của vòng lặp 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
được kiểm tra lại để quyết định có lặp tiếp hay không.
Như vậy, những lệnh nằm trong thân vòng lặp sẽ lần lượt được làm đi làm lại nhiều lần trong khi biểu thức điều_kiện_lặp
còn có giá trị đúng. 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 while
sẽ kết thúc.
Lưu ý:
- Vòng lặp
while
kiểm tra điều kiện trước rồi mới thực hiện các câu lệnh trong thân vòng lặp nên nếu ngay từ đầu biểu thứcđiều_kiện_lặp
đã có giá trị sai thì vòng lặpwhile
sẽ không được thực hiện bất cứ lần nào. - Trong thân của vòng lặp
while
phải có lệnh làm thay đổi giá trị của biểu thứcđiều_kiện_lặp
để đảm bảo sau một số lần thực hiện thì biểu thức điều kiện sẽ có giá trị sai và kết thúc vòng lặp. Nếu trong trường hợp thân của vòng lặp không có lệnh làm thay đổi giá trị của biểu thức thì phải sử dụng từ khóabreak
để thoát khỏi vòng lặp.
2. Ví dụ.
Sau đây tôi sẽ đưa ra một ví dụ đơn giản có sử dụng vòng lặp while
: 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_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 // kiểm tra nếu biến sum còn nhỏ hơn 100 thì còn thực hiện. while (sum < 100 ) { System.out.println( "Nhập vào số nguyên bất kỳ: " ); number = scanner.nextInt(); sum += number; // sum = sum + number; } 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 như sau:
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: Kiểm tra sum < 100
đúng nên nhập vào số 1 và thực hiện lệnh 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 trasum < 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 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 while bao gồm cú pháp, công dụng và ví dụ minh họa. Chúc các bạn thành công.
Theo: freetuts.net