2016-11-12 12 views
-6

次のコード5の出力は4ではないのはなぜですか?Java自動インクリメント

​​
+0

[いい質問をするにはどうすればいいですか] – Gulllie

+2

whileループが5になるまで停止しないので、5です。 – Tibrogargan

+0

4あなたの条件に基づいてそれは内部に行き、++を実行します。その結果は5 – sasikumar

答えて

-1

何が起こっているのかちょうど歩いてください。

あなたのループでは、ループをしているの内側に、あなたはx++を行い、その後4に等しくなりますあなたの最後のループxのため、「xが5その後、小さいながら」ループ保つので、xに1を追加します。 xはもはや5より小さくなく(5です)、ループが完了して値を出力します。

xは4に等しくなるまで、あなただけの単純にあなたのループ条件を変更して、ループにしたい場合は、次の文の場合は、それを増やす前に、xの値をチェックするために追加またはwhile(x < 4)

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

?loopはループを継続します {}ブロックステートメントのスコープ –

+0

今は_i_ではなく_x_でループしています。 _x_がループのスコープの外側に割り当てられたため、_x ++ _は_x_の値を変更します。 – Gulllie

+0

私は感謝varibaleを知っているx外部ループ –

-1

実際にはwhile (x < 5) { ... }のことを考えてみてください。

それは言う:

限りx < 5trueあるとしてループに保管してください。

ヒント:xx < 5がfalseになるまでループは終了しません。4.ときx < 5が真です。 x < 5がfalseに評価されるxの最初の値は何ですか?

+2

downvoteを説明してください。 –

+0

してください。私が見る限り、私とスティーブンの答えは、現在言い表わされているように答えます。 – Gulllie