这是代码:
class testsum
{
public static void main(String arg[])
{
double sum=0;
double fraction;
fraction=-1/9;
System.out.println("fraction: "+fraction);
fraction=-1;
fraction=fraction/9;
System.out.println("fraction: "+fraction);
}
}
输出是0
进而-0.11111111
为什么第一个输出是0
并不是-0.11111111111
?
它在第一个示例中进行整数除法,因为这是数字文字的默认类型。尝试将其更改为-1.0/9
(or 1d/9d
- d 后缀表示 adouble
),你应该得到相同的答案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)