Hi all...
I'm confused

with the following syntaxes. First of all I have noticed several posts regarding precedence in this forum and for some Bates has answered saying such topics will be rare in SCJP5.0 onwards. However, since this was a scenario that we have discussed in the class... Can some one give some insight on what is happening in this code. I have put my experimental results on the code saying what were my outputs.
I have tested for two scenarios,
1. with f1() returning 0;
2. with f1() returning i;
Based on the values I get; should I consider for Scenario 1,
i=i++ + (f1(i)) happened like i++ done first and then the incremented value is passed to f1(i) (That should be why I get 1 printed for this), and then again when assigning to i (i=part on Right hand side) the value that is incremented is not considered?
I hope I can figure out answers for other cases if I get my confusion cleared for this...
Thanks in advance.
Nuwan