簡體   English   中英

While和do While循環

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM