while 1:
#陳述句
if 退出回圈條件:
break
以上陳述句是不是在任何情況下都可以代替do while回圈呢?
uj5u.com熱心網友回復:
while 是在做本次回圈之前,先判斷一個條件do while 是做完本次回圈之后,判斷一個條件
也就是說 do while 無論如何都會執行一次其中的內容
而 while 則不一定
如果從結構上來說,兩者都可以通過寫法和邏輯處理,完全替代對方
如何選擇,關鍵是看哪種寫法更有助于自己對這一段邏輯的理解,哪種寫法在當前狀況下更方便
uj5u.com熱心網友回復:
比如你主樓的例子,反過來也一樣do {
if 退出回圈條件:
break;
#陳述句
}while(true);
也可以完全替代 while
uj5u.com熱心網友回復:
甚至for回圈,在特定的寫法下都能替代 while 和 do while較符合 do while 的形式:
for (;;) {
#陳述句
if 退出回圈條件:
break;
}
較符合 while 的形式:
for (;;) {
if 退出回圈條件:
break;
#陳述句
}
uj5u.com熱心網友回復:
do while 至少會執行一次while 可能一次都不會執行
uj5u.com熱心網友回復:
那這個根本意義就在于,先執行再判斷回圈條件,還是先判斷回圈條件再執行,可能根據事物的不同來區分吧
uj5u.com熱心網友回復:
意義:使得新人的學習成本更高。幾種回圈都可以互相轉換,只不過各有所好,看問題場景會有不同選擇。
uj5u.com熱心網友回復:
編程本來就是許多寫法可以相互轉換的,主要還是要看你業務邏輯用哪一個更合適uj5u.com熱心網友回復:
主要是有時候do while看上去程式更簡潔,舉個例子
int i=0
do {
i++;
}while(i!=0);
如果套用while來實作的話,看上去寫了2次i++
int i=0;
i++;
while(i!=0) {
i++;
}
uj5u.com熱心網友回復:
do while能做的事,while也都能做,只是有些情況,使用do while會更簡單罷了,打個比方,有這樣一個需求:開了一個店,進來客戶必須吃蘋果,最少要吃一個,吃到飽為止,不吃飽不給走(霸氣!!),代碼如下:
do {
吃一個蘋果;
} while (沒吃飽);
這個代碼應該能懂吧,一進來,不管你飽不飽,必須先吃一個,再問你飽沒飽,飽了就不能吃了,不飽就要接著吃。如果用while來實作也可以,只是麻煩一些,如下:
boolean 是第一次吃 = true;
while(是第一次吃 || 沒吃飽) {
吃一個蘋果;
是第一次吃 = false;
}
看到了吧,while也能實作一樣的功能,但是代碼是不是變多了,也沒那么簡潔了!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/72960.html
標籤:Java SE
上一篇:字符序列
