为什么循环无限?

Adu*_*e11 2 java for-loop infinite

我试图通过一个for循环,它就像任何其他循环,但它似乎是无限的; 我一定是在做一些愚蠢的事.谁能看到它?

double x;
for(x = -1; x < 1; x+=2/20) {
    double y = b * Math.sqrt(1-Math.pow(x-FocusToCenter, 2));
    System.out.println("X:"+x+" Y: "+roundFourDecimal(y));
}
Run Code Online (Sandbox Code Playgroud)

如果改变x + = 2/20,到x + = 0.1则完全没问题.

Bri*_*new 6

什么是2/20评价什么?我怀疑,因为它们都是整数,你得到0,因此根本没有增加x.

尝试将它们表达为双打,例如 2.0 / 20.0