1. L p ki m tra 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 u ki n úng
Cú pháp:
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 :
i u ki n l p
úng
L nh
public classWhileDemo {
public static voidmain(String[] args) {
String copyFromMe = "Copy this string until you " + "encounter the letter 'g'.";
StringBuffer copyToMe =newStringBuffer(); 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 u ki n ph i n m trong c p ngo c tròn
+ Sau t khoáwhileta 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 sauwhileta ph i bao chúng trong m t kh i l nh
+ Bên trong thân c a vòng l pwhileta 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úcwhile 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 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
u ki n l púng úng
L nh
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 class DoWhileDemo {
public static void main(String[] args) {
String copyFromMe = "Copy this string until you " + "encounter the letter 'g'.";
StringBuffer copyToMe =newStringBuffer(); 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 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