las ich ein paar Post in Bezug auf unärer Operator: What is the Difference between postfix and unary and additive in java "C - C++" joke about postfix/prefix operation orderingWann genau passiert postfix unärer Operator?
Und ein paar mehr.
Allerdings verstehe ich immer noch nicht genau, wenn der Wert geändert wird.
Zum Beispiel:
int x = 1;
x = x++;
System.out.print("x = x++ ==> ");
System.out.print(" x = " + x);
System.out.println();
int x = 1;
x = x++ + x++;
System.out.print("x = x++ + x++ ==> ");
System.out.print(" x = " + x);
System.out.println();
Die Ausgabe lautet:
x = x++ ==> x = 1
x = x++ + x++ ==> x = 3
So im ersten Block x
-x
zugeordnet und danach erhöht, aber der Wert ist nie verwendet, sonst wäre der Ausgang x = 2
gewesen.
Im zweiten Block, wenn ich richtig verstehe, wird die erste x++
vor der Zuweisung ausgewertet und die zweite x++
wird danach ausgewertet, aber nie verwendet.
Wenn im zweiten Block sowohl x++
nach der Zuweisung ausgewertet, aber nie verwendet worden wäre, wäre der Ausgang x = 2
. Wenn beide verwendet worden wären, wäre die Ausgabe x = 4
gewesen.
Meine IDE auch darauf hingewiesen, dass die erste x++
verwendet wird, aber die zweite nicht verwendet wird:
So zu schließen - ich bin immer noch verwirrt darüber, wann und wie genau der Zuwachs erfolgt.
sollten Sie lesen [W Hat ist x nach "x = x ++"?] (http://stackoverflow.com/questions/7911776/what-is-x-after-x-x). –
@AndyTurner Ich habe es gelesen. Ich habe es nicht verstanden. – traveh