Arun In the compound assignmnet operators there is an implicit cast to the type of the variable that the result is being assigned to. From the JLS Section 15.26.2
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, except that E1 is evaluated only once. Note that the implied cast to type T may be either an identity conversion (�5.1.1) or a narrowing primitive conversion (�5.1.3).
Where as the normal 'extended' assignment operators do not have the implied cast. Hope that helps