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