to my understanding : n++ == ++n but (y=x++) != (y=++x) ---- and ----- operanDS are evaluated right to left while while operationS are evaluated from left to right --------------- how come : int N = 2; int method(int N){ return 0X100 + N++; }

yeilds 258 ?? Shouldn't N be 3 before added to 0X100 ? Thanks for input.

++n adds 1 to n FIRST and uses the new value of n in an expression, while n++ uses the value of n in the expression, then adds 1. So in your method, the expression "return 0X100 + N++" N is 2.

Originally posted by tricktan: to my understanding : n++ == ++n but (y=x++) != (y=++x) ---- and ----- operanDS are evaluated right to left while while operationS are evaluated from left to right --------------- how come : int N = 2; int method(int N){ return 0X100 + N++; }

yeilds 258 ?? Shouldn't N be 3 before added to 0X100 ? Thanks for input.

"CitySlicker" is correct. There is a difference between the prefix incrment (++n) and the postfix increment (m++). And it has to do with when the increment happens.

Please note that the post that you replied to is more than 11 years old! The person who asked the question is probably not still waiting for an answer...

paul wheaton wrote:"CitySlicker" is correct. . . .

No, he is mistaken.

The truth is that there are two values, the value of n, which you can’t see, and the value of n++, which is the same as the old value of n.Try searching for “preincrement postincrement” on this forum and the “Beginning Java” forum, because this question and similar ones arise at least once a month. You can’t search for n++ unfortunately.