Java lang specification says like this...
A compound assignment expression of the form E1 op= E2 is equivalent to E1 = (T)((E1) op (E2)), where T is the type of E1.
According to this, in the example above...expression should be:
c = (char) (c + i);
which is right.
Does this answer ur question !!!
Shiva