If you add a couple of println statements to print k and k3 you will get the results I gave.
Putting the parentheses around the k3=k++ does not imply that the sub-expression is evaluated first.
The (k3=k++) is taken as the second term for the multiplication, that's all.
If those parentheses were not there the expression would not compile, because the "=" has lowest precedence.
I hope a Guru will see this and confirm my analysis.
-Cheers
Barry
BTW take a look at
Marcus Green's JCHQ where I analysed some other expressions in the same way.
[ August 29, 2002: Message edited by: Barry Gaunt ]