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 do - while trong Java

Như đã nói trong bài trước, trong ngôn ngữ lập trình Java cũng như các ngôn ngữ lập trình khác thì chúng ta có 3 loại vòng lặp chính đó là while, do - whilefor. Trong bài trước, tôi đã giới thiệu về vòng lặp while bao gồm cú pháp, cách sử dụng và ví dụ, bài tập vận dụng. Trong bài hôm nay, chúng ta sẽ tiếp tục tìm hiểu một loại vòng lặp khác đó là vòng lặp do - while, so sánh sự khác nhau của vòng lặp whiledo - while và sau đó tôi sẽ đưa ra ví dụ minh họa cho cấu trúc này.

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.

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 (truehoặ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:

vonglapdowhile PNG

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

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

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.

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

ketqua vidudowhile 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: 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. Để các bạn có thể nắm rõ hơn về 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 cuối cùng là vòng lặp for. 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