一个类,其中有这么三行
int a=4125; //001
a=a/1000*1000;
System.out.println(a);
最后运算后的输出为4000,,,说是a/1000后为小数默认为了int再与1000计算
这是老师教程里的一个例子,,,
但老师说过float和int直接计算,结果是float.根据老师当时的例子,也确实如此
int a=4125; //002
System.out.println(a+4.25);
输出为4129.25
但是,如果合写在一起
int a=4125;
System.out.println(a/1000*1000);
System.out.println(a+4.25);
输出为: 4000
4129.25
那么,问题是:为什么会有这种截然不同的对代?什么情况下会执行默认,使结果为int?什么情况下又不会执行默认,使结果为float?
难道紧紧是 + - 和 * / 之间的区别吗?
|
|