2

少し紛らわしいタイトルをお詫びします。

よく知られています

    int x = 4;
    System.out.println(x++); // prints 4
    x = 4;
    System.out.println(++x); //prints 5

実験によって、私はそれを見つけました

    int x = 4;
    System.out.println(x+=4); //prints 8

xをインクリメントするが、代わりに4を出力する上記の類似物はありますか?

4

3 に答える 3

1

他の代入演算子と同様に、省略形の代入は最終値を返します。
これはあなたが書くことを可能にします

x = y = z += 4;

元の値を返すpost-shorthand演算子はありません。

于 2013-03-21T02:56:28.227 に答える
1

これを試して :

int x = 4;
System.out.println((x+=4)-4); //prints 4

また

int x = 4;
System.out.println((x+=4)-x); //prints 4

ただし、参照しているシナリオのショートカット オペランドはありません。:)

于 2013-03-21T02:56:58.447 に答える
0

++ xはインクリメント前で、x++はインクリメント後です

//pre increment
int x = 3;
System.out.println(++x); //prints 4
System.out.println(x); //prints 4

//post increment
int y = 7;
System.out.println(y++); //prints 7
System.out.println(y); // this will print 8 now because of the postincrement

ですから、あなたの質問に対する答えは、変数のポストインクリメントだと思います。

于 2013-03-21T06:03:59.163 に答える