これはなぜ答えが10で、8ではないのですか?Java do Whileループがわかりました
int count = 0;
do{
System.out.println("welcome to java");
}while (count++ < 9);
System.out.println(count);
これはなぜ答えが10で、8ではないのですか?Java do Whileループがわかりました
int count = 0;
do{
System.out.println("welcome to java");
}while (count++ < 9);
System.out.println(count);
まず、条件が満たされなくなるとループが終了します。第二に
count++
はcount
の値を取得し、1
による評価にのみその増分count
後にそれを使用することを意味します。
換言すれば、7
については、7 < 9
が満たされ、count
が8
にインクリメントされる。 の場合8
の場合8 < 9
が満たされ、count
が9
にインクリメントされます。 9
の場合9 < 9
が満たされず、ループが終了しますが、その前にはcount
がまだ10
に増分されています。
したがって、ループを終了後、count
は10
です。
最後のコメントに記載されているように、何かを実行するように求められ、最初の実行サイクルの後に増分するループがあります。覚えておくべき重要なことは、それがインクリメントする前に行い、while条件が満たされているかどうかをチェックすることです。これは9ように8からコードを調整することによって変更することができる。
int count = 0;
do{
System.out.println("welcome to java");
}while (count++ < 8);
System.out.println(count);
あなたはここでこれらの2つの基本的な概念を理解していることを確認します: -
1)doループ内のコードが最初に実行されます式)後置インクリメントを を評価され前(カウント ++)とプリフィックスインクリメント(++ カウント)は、式の結果を変更する可能性があります。Postfix増分(カウント ++)は、カウントの値を1つだけだけ増加させますが、カウントを式の後に使用します。あなたの代わりにあなたのコード内で前置インクリメント(++ 数)を使用する場合
ので、数の値はすぐにそれが式の中で使用されたときに1つずつ増加します。
から++count < 8
に式を変更すると、代わりにdoループが8回実行されます。
乾杯。
1を追加する前に 'count <9'をチェックします。だから、その8はthats見て、1つを追加し、その9を見て、1つを追加し、ループを壊した。したがって、1 –
の詳細については、 '++'演算子を見てください。 –
ひどいタイトル。 Stack Overflowは掲示板ではありません。先史時代のあなたのタイトルを編集して問題を要約してください。 –