Short integer conversion?
"Don't send it if you don't make it clear, and go further sideways" should not be said.

This is clearly stated in the java language specification:

15. 15.3 unary addition operator+

The type of operand expression of unary+operator must be a type that can be converted (5. 1.8) to a basic numeric type, otherwise a compile-time error will occur. Performs a unary value boost () on the operand. The type of unary addition expression is the lifting type of operand. The result of unary addition expression is not a variable, but a value, even if the result of operand expression is a variable.

At run time, the value of unary plus expression is the lifting value of operand.

The main idea is to upgrade the operand values on both sides of the+operation, and upgrade the short to int, and the result is not a variable but a value, even if the number involved in the operation is a variable. At runtime, this +result value will be the promotion of two operands, and the result here will be promoted from short to int.

As for int, it cannot be explicitly assigned to short, because it loses precision, so it cannot be compiled. You must be very clear about this.