2

私の質問は、'for ループ' (右側の ++) で ++ を使用すると増加する理由です。この例では右側にありますが、増加していません。

int a = 1, y;
b = a++; //so "b" will be 1
         // if we do ++a then "b" will be 2
4

3 に答える 3

2

forループとあなたの例の両方で増加します。a++は増加abますが、前の値の を取得します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);
}

まったく同じように動作します。

于 2014-10-06T09:15:16.983 に答える
0

どちらの場合も、 の値がa増加します。ただし、 では、元の値が に割り当てられたb = a++;の増加の値が、その値が に割り当てられるの増加の値になります。bb = ++a;b

違いは、ビーイングの価値が増加するかどうかではありません。これは、変数に割り当てられた値 (b増加前の元の値aまたは増加後の新しい値) に対するものです。

が他の変数に割り当てられていない場合、 と の間にa違いはありません。a++++a

于 2014-10-06T09:22:19.507 に答える
0

a++ では、ステートメントの実行後に a の値がインクリメントされます。つまり、ステートメントの実行中、値はインクリメントされませんが、実行後にインクリメントされます。

++a では、ステートメントの実行中に a の値がインクリメントされます。つまり、実行中にインクリメントされた値が結果として得られます。

于 2014-10-06T09:39:09.637 に答える