问答详情
源自:4-9 Java循环语句之 for

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

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

提问者:叶瘦瘦 2020-05-16 15:43

个回答

  • 慕侠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;