问答详情
源自:4-9 Java循环语句之 for

不明白 sum是怎么得到的

public class HelloWorld {
    public static void main(String[] args) {
		int sum = 0; // 保存不能被3整除的数之和 不明白怎么得到的
		
		// 循环变量 i 初始值为 1 ,每执行一次对变量加 1,只要小于等于 100 就重复执行循环
		for (int i = 1;i<100;i++) {
		// 变量 i 与 3 进行求模(取余),如果不等于 0 ,则表示不能被 3 整除
			if (i % 3 != 0) { 
				sum = sum + i; // 累加求和  不明白怎么得到的
			}
		}
		
		System.out.println("1到100之间不能被3整除的数之和为:" + sum);
	}
}


提问者:菜鸟中的老鸟 2015-08-06 14:48

个回答

  • 天启之魂
    2015-08-06 19:51:18
    已采纳

    1初始sum=0,i=1

    2进入循环后 满足条件if(1不能被3整除)后  sum=sum+i ;  就是sum=0+1;  结果就是sum=1了

    3进入下个循环后 这时 sum=1 i经过 自增 后变为2 ,满足if(2也不能被3整除) 这时 sum=sum+i  就是sum=1+2 结果就是sum=3了

    4,继续下个循环这时 sum=3   i经过 自增 后变为3 ,但是i不满足if(3可以被3整除) 这时 直接进入下一个循环

    5,下个循环开始时sum不变 还是sum=3 i i经过 自增 后变为4 满足if(4也不能被3整除) 这时 sum=sum+i  就是sum=3+4 结果就是sum=7了

    ...........................................

    继续循环到i=100后退出循环 这时的sum值为3267!