上一篇提到了for回圈,這一篇我們來說說while回圈、do-while回圈和三種回圈的區別
目錄
while回圈
基本語法
實體決議
do-while回圈
基本語法
for回圈、while回圈、do-while回圈的區別
for回圈和while回圈的區別
while回圈和do-while回圈的區別
break、continue和return
while回圈
while回圈是最簡單的回圈形式,多用于回圈次數未知的情況,
while回圈在每次執行之前,會判斷條件是否成立,如果條件成立(true),則執行回圈體,如果條件不成立(false),則不執行回圈體,
基本語法
while(條件){
// 回圈體;
}
回圈停止的情況:
- 條件不成立,結束回圈
- 當回圈體執行到break或者return時,結束回圈
實體決議
輸出1加到3的和:
int sum = 0;
int i = 1;
while(i <= 3){
sum = sum + i;
i++;
}
System.out.println("sum = " + sum);
在回圈結構外:
初始化變數:
記錄和的值:sum = 0
數值:i = 1
第一次回圈:
判斷回圈條件:i <= 3 (i = 1,成立)
執行回圈體:sum = sum(sum == 0) + i(i == 1) (此時sum的值為0+1=1)
i++:i = 2
第二次回圈:
判斷回圈條件:i <= 3 (i = 2,成立)
執行回圈體:sum = sum(sum == 1) + i(i == 2) (此時sum的值為1+2=3)
i++:i = 3
第三次回圈:
判斷回圈條件:i <= 3 (i = 3,成立)
執行回圈體:sum = sum(sum == 3) + i(i == 3) (此時sum的值為3+3=6)
i++:i = 4
第四次回圈:
判斷回圈條件:i <= 3 (i = 4,不成立)
結束回圈
輸出結果:
sum = 6
do-while回圈
do-while回圈也是while回圈的一種,也多用于回圈次數未知的情況,并且在條件后面要寫上分號,
do-while回圈在每次判斷條件之前,都會先執行一次回圈體,然后去判斷條件是否成立,如果條件成立(true),則執行回圈體,如果條件不成立(false),則不執行回圈體,
基本語法
do{
代碼塊;
}while(條件);
while回圈和do-while回圈使用方式差別不大,詳細差別后面會提到,
for回圈、while回圈、do-while回圈的區別
for回圈和while回圈的區別
使用for回圈的情況:
- 控制回圈的變數后續不再使用
- 回圈次數已知
使用while回圈的情況:
- 控制回圈的變數后續還要使用
- 回圈次數未知
第一點考慮的是記憶體,在關鍵字for后面的括號中,初始化了一個區域變數,那么這個區域變數就會在堆疊記憶體中存在,當for回圈結束后,垃圾回收器(gc)就會釋放掉這個區域變數,節省空間;如果在回圈結束后,這個控制回圈的變數我們還要接著使用,就可以選擇while回圈,
第二點考慮的是應用場景,在回圈條件已知的情況下,推薦使用for回圈,當然while回圈也是可以使用的;在回圈條件未知的情況下,推薦使用while回圈,
while回圈和do-while回圈的區別
while回圈是先判斷回圈條件,如果條件成立,才執行回圈體,如果條件不成立,那么回圈體一次都不會執行回圈
do-while回圈是先執行一次回圈體,再判斷條件是否成立,如果條件成立,那么再執行回圈體,如果條件不成立,結束回圈
假設while回圈和do-while回圈的條件都為false,那么while回圈的回圈體一次都不會執行,而do-while回圈會執行一次回圈體,
break、continue和return
相同點:三者都可以在回圈體中使用
不同點:
break : 結束當前回圈
continue : 結束本次回圈,并開始下一次的回圈
return : 結束當前方法
在嵌套回圈中,break和continue只能結束當前所在的那一層回圈
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/303864.html
標籤:java
上一篇:Go變數與基礎資料型別
