0
int x = 10;
x += x++;

System.out.println(x);

なぜ上記のステートメントの答えは 20 ですか?

4

6 に答える 6

2

x++最初に実行されます。戻りx、 だけインクリメントx1ます。

最後に、+=演算子はxの戻り値に加算します。x++これは でした10

したがって、xになり、ステートメントによって20への変更が上書きされます。xx++

于 2013-04-28T07:26:58.863 に答える
1

整数 x = 10; x += x++;

x=x+x と等しくなります

ここでx++、値を使用してインクリメントすることを意味するため、x値は10になります

したがって、結果は等しくなります20


の変更を確認したい場合は、次のx例を参照してください。

    int x = 10;
    int y = 10;
    y +=x++;
    System.out.println(y);
    System.out.println(x);

印刷されます:

y=20
x=11////////////according to x++ and without to overwrite it 
于 2013-04-28T07:25:35.543 に答える