如果short在算术运算中被自动提升为int ,那么为什么是: short thirty = 10 * 3; 一个shortvariables的法定分配thirty ? 反过来,这个: short ten = 10; short three = 3; short thirty = ten * three; // DOES NOT COMPILE AS EXPECTED 以及这个: int ten = 10; int three = 3; short thirty = ten * three; // DOES NOT COMPILE AS EXPECTED 不会编译,因为如果不按预期方式转换,则不允许将int值分配给short 。 数字文字有什么特别的吗?