私の質問は、'for ループ' (右側の ++) で ++ を使用すると増加する理由です。この例では右側にありますが、増加していません。
int a = 1, y;
b = a++; //so "b" will be 1
// if we do ++a then "b" will be 2
私の質問は、'for ループ' (右側の ++) で ++ を使用すると増加する理由です。この例では右側にありますが、増加していません。
int a = 1, y;
b = a++; //so "b" will be 1
// if we do ++a then "b" will be 2
forループとあなたの例の両方で増加します。a++
は増加a
しb
ますが、前の値の を取得しますa
。
for ループでは の戻り値を別の変数に代入しないので、 ori++
と書いても問題ありません。i++
++i
for (int i=0;i<5;i++)
{
System.out.println(i);
}
と
for (int i=0;i<5;++i)
{
System.out.println(i);
}
まったく同じように動作します。
どちらの場合も、 の値がa
増加します。ただし、 では、元の値が に割り当てられた後b = a++;
の増加の値が、その値が に割り当てられる前の増加の値になります。b
b = ++a;
b
違いは、ビーイングの価値が増加するかどうかではありません。これは、変数に割り当てられた値 (b
増加前の元の値a
または増加後の新しい値) に対するものです。
が他の変数に割り当てられていない場合、 と の間にa
違いはありません。a++
++a
a++ では、ステートメントの実行後に a の値がインクリメントされます。つまり、ステートメントの実行中、値はインクリメントされませんが、実行後にインクリメントされます。
++a では、ステートメントの実行中に a の値がインクリメントされます。つまり、実行中にインクリメントされた値が結果として得られます。