想问一下,为什么将if改成while不行?

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

叶瘦瘦

2020-05-16 15:43

public class Shoushou {
public static void main(String[] args) {
 int sum=0;
 for(int i=1;i<=100;i++) {
  while(i%3!=0) {
   sum=sum+i;
  }
 }
 System.out.println(sum);
}
}

写回答 关注

4回答

  • 慕侠7214883
    2020-07-09 21:00:57

    这里使用while会一直循环,所以不行,因为while后面括号中的条件如果不变的话就是一直为真,那么循环就会一直循环,中间添加break可以解决问题但是太冗余

  • 慕设计7192602
    2020-06-01 19:03:42

    while是循环语句,if是判断语句。

  • qq_慕慕5204618
    2020-05-25 21:08:15

    while语句属于循环语句,如果条件为true,则会继续判断,直到false为止,也就是说它会一直判断1%3!=0,此时的i在while判断中一直是1,显然这个条件为真,也就是说进入了死循环出不来了,你可以在whlie里面添加break,这样就达到了执行一次,跳出来一次,就不会是死循环了。

     while(i%3!=0) {
       sum=sum+i;

       breaek;
      }

  • 慕盖茨9517986
    2020-05-18 10:59:11

    这个程序在i=1的时候就会一直卡在while循环这里,因为i=1,i%3一直成立,中间i的值没变过。if的话判断完一次就往后了。可以在while里面加个break;

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

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

1165172 学习 · 17581 问题

查看课程

相似问题