为了账号安全,请及时绑定邮箱和手机立即绑定

为什么i=0 和i=1 的运行结果一样。第一遍不执行i++么?

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);

}

}


正在回答

3 回答

你把i换成0,那么0%3==0判断成功,会进行求和sum = sum + 0,所以sum还是等于0,因此定义i=1和定义i=0出来的sum的结果一样,但是你可以在循环体外面定义一个 int times = 0,并且在循环体中加入times++,在输出times的值,就会发现i=0 与 i=1是不一样的,i = 0的times比i = 1大。。。至于你说的第一次会不会i++,答案肯定是不会的,i++只会在循环体结束后才会执行

0 回复 有任何疑惑可以回复我~

for循环的执行顺序为:语句一,语句二,循环操作,语句三,语句二,循环操作,语句三........

0 回复 有任何疑惑可以回复我~

`0%3 != 0`为true,sum+=0;

`1%3 != 0`为false,sum不变;

所以,i的值为0或1是一样的。

另外,第一遍不执行`i++`

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么i=0 和i=1 的运行结果一样。第一遍不执行i++么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信