06/04/2021, 14:47

Vòng lặp while trong Java - Học Java core - từ cơ bản đến nâng cao

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 ...

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 - whilefor. 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.

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à true hoặc 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 while như sau:

vonglapwhile PNG

Đầ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ặp while 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óa break để 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.

Ví dụ.
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:

ketqua tinhtongwhile PNG

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 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 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. Để các bạn có thể nắm rõ hơn về vòng lặp này, tôi có đưa ra một số các bài tập cho các bạn luyện tập. Sang bài sau, chúng ta sẽ tìm hiểu về cấu trúc vòng lặp do - while. Các bạn theo dõi nhé!

Bùi Văn Nam

27 chủ đề

7090 bài viết

Cùng chủ đề
0