為什么i=0 和i=1 的運(yùn)行結(jié)果一樣。第一遍不執(zhí)行i++么?
public class HelloWorld {
? ? public static void main(String[] args) {
int sum = 0; // 保存不能被3整除的數(shù)之和
// 循環(huán)變量 i 初始值為 1 ,每執(zhí)行一次對(duì)變量加 1,只要小于等于 100 就重復(fù)執(zhí)行循環(huán)
for (int i = 1; i<=100 ; i++ ?) {
// 變量 i 與 3 進(jìn)行求模(取余),如果不等于 0 ,則表示不能被 3 整除
if (i % 3 != 0) {?
sum = sum + i; // 累加求和
}
}
System.out.println("1到100之間不能被3整除的數(shù)之和為:" + sum);
}
}
2019-05-03
你把i換成0,那么0%3==0判斷成功,會(huì)進(jìn)行求和sum = sum + 0,所以sum還是等于0,因此定義i=1和定義i=0出來的sum的結(jié)果一樣,但是你可以在循環(huán)體外面定義一個(gè) int times = 0,并且在循環(huán)體中加入times++,在輸出times的值,就會(huì)發(fā)現(xiàn)i=0 與 i=1是不一樣的,i = 0的times比i = 1大。。。至于你說的第一次會(huì)不會(huì)i++,答案肯定是不會(huì)的,i++只會(huì)在循環(huán)體結(jié)束后才會(huì)執(zhí)行
2019-05-02
for循環(huán)的執(zhí)行順序?yàn)椋赫Z句一,語句二,循環(huán)操作,語句三,語句二,循環(huán)操作,語句三........
2019-05-02
`0%3 != 0`為true,sum+=0;
`1%3 != 0`為false,sum不變;
所以,i的值為0或1是一樣的。
另外,第一遍不執(zhí)行`i++`