1. In operations with two operands both are promoted to the most broad of their types. Therefore, result will have that most broad type.
2. In Java Virtual Machine it is impossible to add something to byte variable without promoting byte to int. It is also true for char type.
3. But += and <<= operations will be successful as they implicitly do type conversion.