tricktan

Greenhorn

Posts: 15

posted 17 years ago

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++ == ++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

Greenhorn

Posts: 16

posted 17 years ago

++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.

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.

Jim Yingst

Wanderer

Sheriff

Sheriff

Posts: 18671

posted 17 years ago

I'm moving this to Java in General (Intermediate) where it's more on-topic and can get wider attention.

"I'm not back." - Bill Harding, *Twister*

Campbell Ritchie

Sheriff

Posts: 55351

157

posted 5 years ago

The truth is that there are

No, he is mistaken.paul wheaton wrote:"CitySlicker" is correct. . . .

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.