簡體   English   中英

Java do while 循環增量

[英]Java do while loop increment

int i = 10; 
int j = 0; 
do { 
    j++; 
    System.out.println("loop:" + j); 
    while (i++ < 15) {                //line6 
         i = i + 20; 
         System.out.println(i); 
    } ; 
} while (i < 2); 
System.out.println("i_final:" + i); 

輸出:

loop:1 
31 
i_final:32

為什么i_final32而不是31 我們可以看到do_while循環只執行了一次,所以第 8 行也應該只執行一次,因此將“i”的值增加 1。 31什么時候增加到32

While 循環將在中斷前執行兩次。

while (i++ < 15) {                //line6 
                i = i + 20; 
                System.out.println(i); 
            } ;

首先它增加到 11 。

檢查 15。返回 true。

現在它增加到 31。 ( i = i + 20 )

現在再次 while 循環。

它增加了價值。

第一次檢查 while 循環條件時 i=11,之后 i 增加 20,所以 i=31。 然后當再次檢查條件時,當發現 31 < 15 為假時,i 仍然增加 1。所以 i =32

當您執行 while 循環為 (i++ < 15) 時,它會檢查條件並在 i++ 為 < 15 時停止循環,但是在這里,當您執行 do while 循環 j++ 時,循環會進行 2 次,當涉及到 while ( i++ < 15) 它將 i 的值增加 1 並停止...所以在第二個循環中 i 的值增加 1 但 while 循環中的函數保持不變,當 i++ 大於 15 時它停止

如果您執行以下操作,您將獲得 31

int i = 10; 
int j = 0; 
    do { 
    j++; 
    System.out.println("loop:" + j); 
    while (i < 15) {                //line6 
         i++
         i = i + 20; 
         System.out.println(i); 
    } ; 
} while (i < 2); 
System.out.println("i_final:" + i); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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