-5
x = 2; 
y = x++; 
System.out.println(y)

x が後にインクリメントされた場合、y は 2 を出力しますか、それとも 3 を出力しますか?また、その理由は? これが接頭辞だった場合、3 だけが出力されますか?

4

3 に答える 3

2

2が出力され、なぜそれが起こるのか

y=x++;

ステップ1:

assign x value to y

ステップ 2:(インクリメント x 値)

x= x+1;

これが起こる理由です。

于 2012-11-20T03:48:20.543 に答える
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 になります。

于 2012-11-20T03:52:25.557 に答える
1

最初にy& に値を代入し、次に でインクリメントx1ます。
これはpost incrementです。
これは最初に & の左側の変数に値を代入し、=次に右側の変数を 1 ずつ増やしxます
y=2x=3

于 2012-11-20T03:44:53.777 に答える