TỔNG QUAN
CẤU TRÚC ĐIỀU KHIỂN
VÒNG LẶP
CHUỖI VÀ MẢNG
COLLECTIONS
THƯ VIỆN QUAN TRỌNG
HƯỚNG ĐỐI TƯỢNG
XỬ LÝ LUỒNG
EXCEPTION
LÀM VIỆC VỚI FILE
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Vòng lặp while trong Java

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.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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:

Bài viết này được đăng tại [free tuts .net]

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é!

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Cách sử dụng Spring  Scheduled trong Spring Boot

Cách sử dụng Spring Scheduled trong Spring Boot

Cách dùng Groovy trong Spring Boot Java

Cách dùng Groovy trong Spring Boot Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo ứng dụng Chat với Spring Boot và Websocket

Tạo ứng dụng Chat với Spring Boot và Websocket

Sử dụng JUnit để tạo unit test trong Spring Boot

Sử dụng JUnit để tạo unit test trong Spring Boot

Cách triển khai Spring Boot trên Tomcat Server

Cách triển khai Spring Boot trên Tomcat Server

Cách test RESTful API trong Spring Boot

Cách test RESTful API trong Spring Boot

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Top