2016-11-12 153 views
-6

爲什麼輸出下面的代碼5而不是4?Java自動增量

​​
+0

請閱讀[我如何問一個好問題?](http://stackoverflow.com/help/how-to-ask) – Gulllie

+2

它是5,因爲while循環不停止,直到它爲5時。 – Tibrogargan

+0

4根據你的情況進入並執行++ ..所以結果是5 – sasikumar

回答

-1

只是通過發生了什麼。

你的循環會不斷循環「而x是小於5」,這樣你的最後一個循環x將等於4。然後,裏面你是循環,執行x++,所以加1 xx不再小於5(它是5),因此您的循環完成並打印出該值。

如果你只是想循環,直到x等於4,簡單地改變你的循環條件:while(x < 4)添加一個if語句來檢查的x值你增加前:

if(x == 4){ 
break; //Exit the loop 
} 
+0

爲什麼?循環將保持循環 i ++在{}塊語句範圍內 –

+0

現在您正在循環_x_,而不是_i_。 _x_被分配到循環範圍之外,所以_x ++ _將改變_x_的值。 – Gulllie

+0

我知道謝謝varibale x外部循環 –

-1

想想while (x < 5) { ... }究竟是怎麼說的。

它說:

繼續只要x < 5true循環。

提示:x < 5爲真時x是4.循環不會結束,直到表達x < 5變爲假。 x的第一個值x < 5的計算結果是否爲假?

+2

請解釋downvote。 –

+0

請做。據我所知,我和斯蒂芬的答案都回答了這個問題,因爲它目前的措辭。 – Gulllie