january radolf wrote:
in the doubt line why type conversion does not take place and no error.???
What is the nature of your doubt? Perhaps you are worried that
b1 += 3 should be the same as
b1 = b1 + 3?
It is true that
b1 = b1 + 3 has a type error and needs to be written
b1 = (byte)(b1 + 3).
But it is also true
b1 += 3 does in fact mean
b1 = (byte)(b1 + 3) according to
ยง15.26.2 of the JLS.
(The 2nd edition of the JLS
mentions that the cast is either a narrowing primitive conversion or an identity conversion, but the 3rd doesn't presumably due to boxing/unboxing issues.)