• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

n++

 
tricktan
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
++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.

 
Jim Yingst
Wanderer
Sheriff
Posts: 18671
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm moving this to Java in General (Intermediate) where it's more on-topic and can get wider attention.
 
paul wheaton
Trailboss
Pie
Posts: 21665
Firefox Browser IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"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.
 
Dai Feilong
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am confused too.
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15441
41
Android IntelliJ IDE Java Scala Spring
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dai Feilong, welcome to the Ranch!

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...
 
Campbell Ritchie
Sheriff
Pie
Posts: 49805
69
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic