【问题】
什么原因导致sum和sum1的计算结果不一样?求解救解救我的思维~
【源码】
public class Diliuti{
public static void main(String[]args){
int k;
double sum = 0.0,sum1 = 0.0;
for (k=1;k<=10;k++){
sum += 2.5;
sum1 = 2.5*k;
if(k % 2 == 0){
sum -= 0.5; //(减号等于号)
sum1 -= 0.5;//(减号等于号)
}
if(k == 5){
break;
}
}
System.out.println("sum="+sum+“,”+"sum1="+sum1);
}
}
【输出结果】
sum=11.5,sum1=12.5
if(k % 2 == 0){
sum -= 0.5; //(减号等于号)
sum1 -= 0.5;//(减号等于号)
}
这一段代码只对sum起作用,对sum1不起作用。因为在一下循环中,sum1会被直接赋值为2.5的k倍,但sum不会,它一直是在自身进行加减。
遇到break会直接跳出循环,所以出来的时候k是等于5的,sum=0+2.5+2.5-0.5+2.5+2.5-0.5+2.5=11.5,sum1=2.5*5=12.5