[英]While and do while loops
我是這個網站的新手,也是Java的新手,我試圖了解do while循環
問題:輸出是什么,為什么?
public class DoWhile {
public static void main(String[] args) {
int i = 1;
do {
System.out.println("i is : " + i);
i++;
} while(i < 1);
}
}
我得到的輸出是“ i is:1”,但我試圖理解原因。 一旦擊中它就會停止,因為我不小於1,對嗎?
只是想盡我所能,任何幫助將不勝感激。
是。 正確。
do { } while (condition);
無論條件如何,這將至少執行一次代碼。 第一次執行后,它將檢查條件,條件將被評估為false(1不小於1),因此將停止。
是的,輸出是
i is : 1
do-while循環將至少執行一次,因為在進入循環之前不會評估條件。 僅在每次迭代結束時進行評估。 這與while
循環相反, while
循環的條件是在第一次迭代之前以及每次迭代之后都進行檢查。
i
1
開始是1
,然后進行打印,然后i
增加到2
。 然后評估條件-它為false
,因此循環終止。
輸出僅為1
因為do導致循環至少執行一次,但是while
中的條件不會讓循環重復執行,因為i
永遠不會小於1
不再是1
public class DoWhile {
public static void main(String[] args) {
int i = 1; // i is 1
do {
System.out.println("i is : " + i); //still i is 1
i++; // this makes i = 2;
} while(i < 1);
}
}
如果您注意到注釋,則在第一次迭代后不再為1
是的,輸出為1,因為在do-while循環中,do塊中的語句始終至少執行一次。
執行do塊后,i值為2,而while塊不執行。
do-while和while之間的區別在於do-while在循環的底部而不是頂部評估其表達式。 因此,do塊中的語句始終至少執行一次
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.