Calculate the right side, ++ i
No, this is not the first step.
The first step is to evaluate the initial value of the left side. Then evaluate the right side. Sum them up and assign the result to a variable.
So,
i += ++i;
generally equivalent
i = i + (++i);
In particular, from JLS 15.26.2 , my attention: