| Author |
Increment operation question
|
Garrett Rowe
Ranch Hand
Joined: Jan 17, 2006
Posts: 1295
|
|
I was reading over some posts in the SCJP forum and there was a question about the increment operation. Alhough I think I understood the answer there, I came up with a puzzling problem of my own that I cannot figure out. Consider this code: the output is: 1 0 Although I can't follow the flow to figure out why.
|
Some problems are so complex that you have to be highly intelligent and well informed just to be undecided about them. - Laurence J. Peter
|
 |
marc weber
Sheriff
Joined: Aug 31, 2004
Posts: 11343
|
|
i = j++; //i is set to 0, after which j is incremented to 1 j = i++; //j is set to 0, after which i is incremented to 1
|
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer
sscce.org
|
 |
Garrett Rowe
Ranch Hand
Joined: Jan 17, 2006
Posts: 1295
|
|
|
Then why is the output of System.out.println(i) 1 ? Sorry, I'm slow
|
 |
Garrett Rowe
Ranch Hand
Joined: Jan 17, 2006
Posts: 1295
|
|
|
nevermind, I see, i is incremented in the second assignment. j = i++; Told you I was slow.
|
 |
Ankur Sharma
Ranch Hand
Joined: Dec 27, 2005
Posts: 1234
|
|
|
Well this is such a simple solution that Java works on Stack Memory for local Variables thus the value of J is still 0. I hope you can understand now.
|
The Best way to predict your future is to create it
Ankur Sharma
|
 |
 |
|
|
subject: Increment operation question
|
|
|