亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

想問一下,為什么將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);
}
}

正在回答

4 回答

這里使用while會一直循環,所以不行,因為while后面括號中的條件如果不變的話就是一直為真,那么循環就會一直循環,中間添加break可以解決問題但是太冗余

0 回復 有任何疑惑可以回復我~

while是循環語句,if是判斷語句。

0 回復 有任何疑惑可以回復我~

while語句屬于循環語句,如果條件為true,則會繼續判斷,直到false為止,也就是說它會一直判斷1%3!=0,此時的i在while判斷中一直是1,顯然這個條件為真,也就是說進入了死循環出不來了,你可以在whlie里面添加break,這樣就達到了執行一次,跳出來一次,就不會是死循環了。

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

? ?breaek;
??}

0 回復 有任何疑惑可以回復我~

這個程序在i=1的時候就會一直卡在while循環這里,因為i=1,i%3一直成立,中間i的值沒變過。if的話判斷完一次就往后了??梢栽趙hile里面加個break;

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

想問一下,為什么將if改成while不行?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號