为了账号安全,请及时绑定邮箱和手机立即绑定

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呢

正在回答

3 回答

i<=100 && i % 3 != 0

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

2 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

    }


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165453    人
  • 解答问题       17585    个

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

进入课程

for循环的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信