叶瘦瘦
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);
}
}
这里使用while会一直循环,所以不行,因为while后面括号中的条件如果不变的话就是一直为真,那么循环就会一直循环,中间添加break可以解决问题但是太冗余
while是循环语句,if是判断语句。
while语句属于循环语句,如果条件为true,则会继续判断,直到false为止,也就是说它会一直判断1%3!=0,此时的i在while判断中一直是1,显然这个条件为真,也就是说进入了死循环出不来了,你可以在whlie里面添加break,这样就达到了执行一次,跳出来一次,就不会是死循环了。
while(i%3!=0) {
sum=sum+i;
breaek;
}
这个程序在i=1的时候就会一直卡在while循环这里,因为i=1,i%3一直成立,中间i的值没变过。if的话判断完一次就往后了。可以在while里面加个break;
Java入门第一季(IDEA工具)升级版
1165511 学习 · 17586 问题
相似问题
回答 3
回答 4
回答 1
回答 4