for循環的問題
public class HelloWorld {
? ?
? ? public static void main(String[] args) {
? ? ? ? int sum = 0;?
? ? ? ? for (int i = 1;i<=100 && i % 3 != 0;i++) {
? ? ? ? ? ? ? ?sum = sum + i;
}
? ? ?System.out.println("1到100之間不能被3整除的數之和為:" + sum);
? ? }
}運行結果為什么是3呢
2017-06-14
這個是for進行循環的判斷條件,滿足這個條件則進行循環,不滿足的話就終止循環。當i=1時,滿足條件,sum就加1,當i=2時,也滿足條件,sum再加2,此時sum就是3了,當i=3,時,由于i % 3 = 0了,所以不滿足循環條件,for循環就終止了。所以sum的值就是3.
2017-06-13
當i =3時,不滿足for循環里的條件(i<100&&i%3!=0),所以這個循環就結束了。故這個循環只循環了兩次,最終輸出結果為:sum=0+1+2=3
2017-06-13
當i=1時,同時滿足兩個判斷條件,自增為i=2且執行一次循環,此時sum=0+1=1;
當i=2時,依然同時滿足兩個判斷條件,自增為i=3且執行一次循環,此時sum=1+2=3;
當i=3時,滿足i<=100但是不滿足i%3!=0,此時直接結束循環,輸出結果sum=3;
應該改為:
public class HelloWorld {
? ? public static void main(String[] args) {
? ? ? ? int sum = 0;?
? ? ? ? for (int i = 1;i<=100 ;i++) {
? ? ? ? ? ?if (i%3==0){//當i被3整除時跳過本次循環進行下一次循環
? ? ? ? ? ? ? continue;
}
? ? ? ? ? ? ? ?sum = sum + i;
}
? ? ?System.out.println("1到100之間不能被3整除的數之和為:" + sum);
? ? }