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呢
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-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);
}
举报