為什么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);
}
}
2019-05-03
你把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++只會在循環體結束后才會執行
2019-05-02
for循環的執行順序為:語句一,語句二,循環操作,語句三,語句二,循環操作,語句三........
2019-05-02
`0%3 != 0`為true,sum+=0;
`1%3 != 0`為false,sum不變;
所以,i的值為0或1是一樣的。
另外,第一遍不執行`i++`