x = 2;
y = x++;
System.out.println(y)
x が後にインクリメントされた場合、y は 2 を出力しますか、それとも 3 を出力しますか?また、その理由は? これが接頭辞だった場合、3 だけが出力されますか?
x = 2;
y = x++;
System.out.println(y)
x が後にインクリメントされた場合、y は 2 を出力しますか、それとも 3 を出力しますか?また、その理由は? これが接頭辞だった場合、3 だけが出力されますか?
2が出力され、なぜそれが起こるのか
y=x++;
ステップ1:
assign x value to y
ステップ 2:(インクリメント x 値)
x= x+1;
これが起こる理由です。
プラス記号は変数の後にあるため、ポストインクリメントと呼ばれます。が変数の前にある場合、プレインクリメントと呼ばれます。プレインクリメントを使用すると、y に x+1 が割り当てられます。ここで、後置インクリメントと同様に、y に x が割り当てられ、x は 1 ずつインクリメントされ、その後 3 になりますが、y は 2 になります。
x = 2; y = x++;
その場合、y は 2 になり、x は 3 になります。
x = 2; y = ++x;
その場合、x、y は両方とも 3 になります。
最初にy
& に値を代入し、次に でインクリメントx
し1
ます。
これはpost increment
です。
これは最初に & の左側の変数に値を代入し、=
次に右側の変数を 1 ずつ増やしx
ます
。y=2
x=3