当我做这样的事情
int test = 5 + 3 * (4 - 1) / 2;
我得到 9。我怀疑这是因为 int 向下舍入。但是,当我这样做时
float test = 5 + 3 * (4 - 1) / 2;
我也得到 9。但是,当我这样做时
float test1 = 5;
float test2 = 4.5;
float test = test1 + test2;
测试最终输出 9.5。有人可以解释这背后的逻辑吗?为什么我在第二个例子中没有得到 9.5?谢谢。