编译中的小数bug和死循环的终止(以eclips为例)
以这段代码为例:
double i = 1;
double sum = 0;
while(i != 0)
{
sum += item;
i -= 0.1;
System.out.println(i);
}
System.out.println(sum);
他的编译结果由人为计算的话,i应该输出0.9,0.8,0.7······0,sum应该输出5.5
而实际编译器编译出的结果是:图片仅显示一部分
由此我们就步入了死循环,因为i在执行的过程中不会直接减到0,而会减到小于0
所以这是关于浮点数的一个小bug,以后使用要注意。
出现了死循环,我们就需要让它终止,这时我们按下图红色的正方形即可。