對于while語句而言,如果不滿足條件,則不能進入循環。但有時候我們需要即使不滿足條件,也至少執行一次。
do…while循環和while循環相似,不同的是,do…while循環至少會執行一次。
1
2
3
|
do { //代碼語句 } while (布爾表達式); |
do..while循環語句也稱為后測試循環語句,它的循環重復執行方式,也是利用一個條件來控制是否要繼續重復執行這個語句。與while循環所不同的是,它先執行一次循環語句,然后再去判斷是否繼續執行。例如,計算1到100之間所有整數的和,也可以使用do...while循環語句實現。具體代碼如下:
1
2
3
4
5
6
7
|
int sum= 0 ; int i= 1 ; do { sum+=i; i++; } while (i<= 100 ); System.out.println( "1到100之間所有整數的和是: " +sum);<br> |
do...while循環語句執行的過程是:先執行一次循環體,然后再判斷條件表達式,如果條件表達式的值為true,則繼續執行,否則跳出循環。也就是說,do...while循環語句中的循環體至少被執行一次。
注意:布爾表達式在循環體的后面,所以語句塊在檢測布爾表達式之前已經執行了。 如果布爾表達式的值為true,則語句塊一直執行,直到布爾表達式的值為false。
實例
1
2
3
4
5
6
7
8
9
10
11
12
|
public class Test { public static void main(String args[]){ int x = 10 ; do { System.out.print( "value of x : " + x ); x++; System.out.print( "\n" ); } while ( x < 20 ); } } |
以上實例編譯運行結果如下:
1
2
3
4
5
6
7
8
9
10
|
value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19 |