Java Operators – What is x After ‘x = x++’?

javaoperatorspost-increment

What happens (behind the curtains) when this is executed?

int x = 7;
x = x++;

That is, when a variable is post incremented and assigned to itself in one statement? I compiled and executed this. x is still 7 even after the entire statement. In my book, it says that x is incremented!

Best Answer

x = x++;

is equivalent to

int tmp = x;
x++;
x = tmp;