for循环转换为while循环

来源:4-12 Java循环跳转语句之 continue

朝梦想迈步

2019-03-08 14:30

int sum = 0;         

    for (int i = 0; i < 4;i++) {      

    if (i % 3 == 0) continue; 

    sum += i;   

        System.out.println(sum); 

    }  

    }                                                     

}    

----------------------------------------------------------              

    int i= 0 ;

    int sum = 0;

    while (i < 4) {

    if (i % 3 == 0)continue;

    sum += i;

    i++;

        System.out.println(sum);  

    }

    } 

}

为什么这样转换是错误的,第二个陷入了无限循环,需要怎么编写才能达到结果一样啊?                                 

                  

写回答 关注

1回答

  • weixin_慕后端046368
    2019-03-08 14:52:06
    已采纳

        int i= 0 ;

    int sum = 0;         

        while (i < 4) {

            if (i % 3 == 0) {

            i++;

            continue;

            }

            sum += i;

            i++;

            System.out.println(sum);  

          }

    因为 i%3 == 0的时候,没有做i++操作,所以i%3==0一直成立,所以是个死循环

    朝梦想迈步

    秒啊,我只想着怎么让continue不跳过i++,却没有想到在continue前面就执行i++。厉害!

    2019-03-08 15:09:19

    共 1 条回复 >

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

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

1165172 学习 · 17581 问题

查看课程

相似问题

while循环

回答 3

while循环

回答 3

while循环

回答 3

while循环

回答 6

do while循环

回答 3