This week's book giveaway is in the OO, Patterns, UML and Refactoring forum.We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line!See this thread for details.
Big Moose Saloon
 Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies Register / Login Win a copy of Refactoring for Software Design Smells: Managing Technical Debt this week in the OO, Patterns, UML and Refactoring forum!

# pre/post increment / decrement operators

Darren Tweedale
Greenhorn

Joined: Jan 30, 2002
Posts: 16
I having a problem understanding pre and post operators. I can understand the following simple code:

still results 0 because it is increment after it is assigned to i. But take a look at this more complex version:

every way I look at it, i keep getting different answers! How does one work out the results for this kind of question?
To me I would have thought that starting from the left, it would first (++n) to get a three, then n++ still leaves it three because it is added after, then --n to 2, and again --n to get one, finally incrementing the earlier post operator n++ to get a four (because it was 3 at that point). Finally add all the results, 3+4+2+1 = 10, but the answer is 11?
Any help would be gratefully appreciated, especially any rules of how it works.
Also, how does one KNOW when the object is garbaged collected at a certain point?
Thanks!
Roy Ben Ami
Ranch Hand

Joined: Jan 13, 2002
Posts: 732
you almost did it right:
++n + n++ + --n + --n;
++n gives u 3 as u said.
then at n++ it is still 3 u are correct so the answer until now is 6.
now: --n. u must remember that n at this point is 4 (bacsue in the last stage u did n++ so it was inceremnted after the addiotion to 6 u did).
so now n is 3 again so the answer is 9.
at last:
--n now n is 2 so the answer is 11.
3+3+3+2=11; !
Valentin Crettaz
Gold Digger
Sheriff

Joined: Aug 26, 2001
Posts: 7610
Check this link out:http://www.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=24&t=014606
HIH

SCJP 5, SCJD, SCBCD, SCWCD, SCDJWS, IBM XML
[Blog] [Blogroll] [My Reviews] My Linked In
Darren Tweedale
Greenhorn

Joined: Jan 30, 2002
Posts: 16
oh, I see now! It is all crystal clear now!
Thanks all the info. Bye
Brian Lugo
Ranch Hand

Joined: Nov 10, 2000
Posts: 165
Dareen, I wrote a POST couple of days ago on the post=fix operators:
http://www.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=24&t=014701

I agree. Here's the link: http://aspose.com/file-tools

subject: pre/post increment / decrement operators