for循环的问题

来源:4-9 Java循环语句之 for

慕粉2002598340

2017-06-13 10:17

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呢

写回答 关注

3回答

  • botao555
    2017-06-14 11:45:30
    i<=100 && i % 3 != 0

    这个是for进行循环的判断条件,满足这个条件则进行循环,不满足的话就终止循环。当i=1时,满足条件,sum就加1,当i=2时,也满足条件,sum再加2,此时sum就是3了,当i=3,时,由于i % 3 = 0了,所以不满足循环条件,for循环就终止了。所以sum的值就是3.

  • qq_郁离_0
    2017-06-13 11:16:09

    当i =3时,不满足for循环里的条件(i<100&&i%3!=0),所以这个循环就结束了。故这个循环只循环了两次,最终输出结果为:sum=0+1+2=3

  • 黑夜_K
    2017-06-13 11:03:12

    当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);

        }


Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165506 学习 · 17586 问题

查看课程

相似问题