问答详情
源自:4-12 Java循环跳转语句之 continue

for循环转换为while循环

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

    }

    } 

}

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

                  

提问者:朝梦想迈步 2019-03-08 14:30

个回答

  • 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一直成立,所以是个死循环