我猜你疑惑的是 3/2 为什么是 1(int) 对吗?
3/2 等于 1 (int)
3.0/2.0 等于 1.5 (double)
3/2.0 和 2/3.0 都等于 1.5 (double),因为两个操作数类型不一致时,会进行类型提升。 int 与 double 进行运算,会先将 int 提升为 double
((short)3) + ((short)2) 等于 5 (int),而不是 5 (short),因为操作数类型低于int时,会将类型提升到 int
整数字面量: https://zh.
浮点字面量: https://zh.
隐式转换: https://zh.