int x = 10;
x += x++;
System.out.println(x);
なぜ上記のステートメントの答えは 20 ですか?
x++
最初に実行されます。戻りx
、 だけインクリメントx
し1
ます。
最後に、+=
演算子はx
の戻り値に加算します。x++
これは でした10
。
したがって、x
になり、ステートメントによって20
への変更が上書きされます。x
x++
整数 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