整数除法:
在Java中,如果两个整数相除,结果会是整数。例如,1/2 结果是 0 而不是 0.5。这是因为整数除法会向下取整。
因此,1/i 对于任何正整数 i 都会得到 0.0,因为 1 除以任何正整数都小于 1,而整数除法的结果是 0。
浮点数精度:
当你将 1 除以 i(其中 i 是整数)时,得到的结果是一个浮点数 0.0,因为整数除法的结果会自动转换为浮点数。
所以,无论你迭代到多少次循环,double num = 1/i; 将始终赋值为 0.0。
double sum = 0;
for (int i = 1; i <= 100; i++){
//double num = 1 / i;
double num = 1.0 / i;
//System.out.println("num:" + num);
if (i % 2 == 0)sum -= num;
else sum += num;
//System.out.println("sum:" + sum);
}
System.out.println("sum:" + sum);