Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Reg. post increment operator

 
Shruti Bakshi
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
Can someone throw light on how the output of following code snippet is 0 ?

int i =0;
i = i++;
System.out.println(i);

What happens to ++ ? Why is i not incremented after the assignment ?
 
Guddu Jhakas
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
here value of i is assigned first than it is post incrimented.
samjhe baaboo??
 
Animesh Shrivastava
Ranch Hand
Posts: 298
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Shruti,
as u know about the post increment operators,
when post increment operator is applied to a variable j:
first the current value of j is the value of the expression, and then later on the value of j increments.
suppose u have

So the final value is evaluated as:
1)result = j;
2)j = j + 1;
3) return result;

Now solving ur question this way, u get
result = i;
i = i + 1;
i = result;

Thats how it gets solved
Hope u r clear
also look at this

Tips
 
Alton Hernandez
Ranch Hand
Posts: 443
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Just do a search on this forum and you will see that this has been beaten to death.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic