1. Lặp kiểm tra điều kiện trước
Ta cú thể sử dụng cấu trỳc while để thực thi lặp đi lặp lại một lệnh hoặc một khối lệnh trong khi điều kiện đỳng
while (BooleanExpression) { statement;
}
ta cú thể thấy được luồng thực hiện của chương trỡnh thụng qua sơ đồ khối sau:
trước tiờn phỏt biểu while sẽ tớnh giỏ trị của biểu thức logic, nếu giỏ trị của biểu thức logic là đỳng thỡ cõu lệnh trong thõn của while sẽ được thực hiện, sau khi thực hiện xong nú tớnh lại giỏ trị của biểu thức logic, nếu giỏ trị đỳng nú lại tiếp tục thực hiện lệnh trong thõn while cho đến khi giỏ trị của biểu thức sai.
Vớ dụ:
public class WhileDemo {
public static void main(String[] args) {
String copyFromMe = "Copy this string until you " + "encounter the letter 'g'.";
StringBuffer copyToMe = new StringBuffer();
int i = 0; char c = copyFromMe.charAt(i); while (c! = 'g') { copyToMe.append(c); c = copyFromMe.charAt(++i); } System.out.println(copyToMe); }
}
Chỳ ý:
+ biểu thức bờn trong cặp ngoặc trũn phải là một biểu thức logic ( biểu thức trả về giỏ trị true hoặc false )
+ biểu thức điều kiện phải nằm trong cặp ngoặc trũn
+ sau từ khoỏ while ta chỉ cú thể đặt được duy nhất một lệnh, do vậy để cú thể thực hiện nhiều tỏc vụ sau while ta phải bao chỳng trong một khối lệnh
+ bờn trong thõn của vũng lặp while ta nờn cú lệnh làm thay đổi giỏ trị của biểu thức logic, nếu khụng chỳng ta sẽ rơi vào vũng lặp vụ hạn.
+ cõu lệnh trong thõn cấu trỳc while cú thể khụng được thực hiện lần nào (do biểu thức lụgic ban đầu cú giỏ trị false )
2. Lặp kiểm tra điều kiện sau
Cỳ phỏp:
do {
statement(s);
} while (expression);
sự hoạt động của cấu trỳc này được thể hiện qua sơ đồ sau:
Nhỡn vào sơ đồ này ta thấy sự hoạt động của nú như sau:
b1) thực hiện lệnh
b2) sau khi thực hiện lệnh xong nú tớnh giỏ trị của biểu thức logic b3) nếu biểu thức logic đỳng nú quay trở lại b1, nếu sai thỡ b4 b4) kết thỳc vũng lặp và thực hiện lệnh sau do-while
vớ dụ:
public static void main(String[] args) {
String copyFromMe = "Copy this string until you " + "encounter the letter 'g'.";
StringBuffer copyToMe = new StringBuffer();
int i = 0; char c = copyFromMe.charAt(i); do { copyToMe.append(c); c = copyFromMe.charAt(++i); } while (c! = 'g'); System.out.println(copyToMe); } } Chỳ ý:
+ biểu thức bờn trong cặp ngoặc trũn phải là một biểu thức logic ( biểu thức trả về giỏ trị true hoặc false )
+ biểu thức điều kiện phải nằm trong cặp ngoặc trũn + sau từ khoỏ do ta cú thể đặt được nhiều lệnh
+ bờn trong thõn của vũng lặp do-while ta nờn cú lệnh làm thay đổi giỏ trị của biểu thức logic, nếu khụng chỳng ta sẽ rơi vào vũng lặp vụ hạn.
+ cõu lệnh trong thõn cấu trỳc do-while được thực hiện ớt nhất một lần