^我的问题被标记为重复的问题与此问题不同。 那个问题是如何使浮点数除以整数。
这是我的代码:
public class Test {
public static void main(String[] args) {
System.out.println("33/5 is " + 33/5);
System.out.println("33/5.0 is " + 33/5.0);
}
}
输出是:
33/5 is 6
33/5.0 is 6.6
顺便说一下如果这是重复的,请指示我回答的地方,因为我找不到。
答案 0 :(得分:2)
在第一次计算33 / 5
上,你实际上是在划分一个整数,从而得到没有小数位的结果。
第二个计算:33/5.0
结果实际上提升为 double ,其精度高于int,并产生小数。
请记住,5.0
是double
,从而将计算结果提升为双原语
答案 1 :(得分:1)
int/int
(33/5)将始终提供int
所以33/5 = 6
int/double
(33 / 5.0)会给double
所以33 / 5.0 = 6.6