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

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

if(i%3!=0)后面加“;“”的問題!

public class HelloWorld {?

?? ?public static void main(String[] args) {

?int sum = 0;?

?for (int i = 1;i<=100;i++) {

?if(i % 3 != 0);{?

?sum = sum + i;

?}?

?} System.out.println("1到100之間不能被3整除的數之和為:" + sum);

}?

}

運算結果為5050. 我想知道我加這個;分號起了什么作用啊。為什么就是把if的條件部分直接跨過去了啊

正在回答

2 回答

加了; if 和{}就沒關系了,可以這樣寫if(i % 3 != 0)sum = sum + i; 不能換行


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

weixin_慕前端0359093 提問者

好的謝謝哦,我去試試
2019-09-06 回復 有任何疑惑可以回復我~
#2

LTrewin

可以換行,if后面不加{},只執行下面語句的第一句。
2019-09-06 回復 有任何疑惑可以回復我~
#3

weixin_慕前端0359093 提問者 回復 LTrewin

確實可以,那這個大括號可以省略啦,什么情況下必須加{}。
2019-09-06 回復 有任何疑惑可以回復我~
#4

LTrewin 回復 LTrewin

如果條件成立的話
2019-09-06 回復 有任何疑惑可以回復我~
#5

weixin_慕前端0359093 提問者 回復 LTrewin

我自己嘗試下把for改成do...while循環,可是試了多好都沒成功,拜托能不能幫我改一個發給我看看哦,我才學不久
2019-09-06 回復 有任何疑惑可以回復我~
#6

LTrewin 回復 weixin_慕前端0359093 提問者

語句多于一句的時候啊,比如說如果條件成立要做好幾件事,那么就要用{},{}相當于把多個語句打包成一個整體。
2019-09-06 回復 有任何疑惑可以回復我~
#7

weixin_慕前端0359093 提問者 回復 LTrewin

受教受教!
2019-09-06 回復 有任何疑惑可以回復我~
#8

LTrewin 回復 weixin_慕前端0359093 提問者

do { count++; }while((num /= 10) > 0); System.out.println("它是個"+count+"位的數!"); do...while是先執行再判斷,看條件吧,如果用while,num恰巧為個位數的話肯定不滿足(num /= 10) > 0,循環就不會執行,直接輸出count的話就是0,所以要解決個位數無法進入循環的問題,就先執行一次循環,讓count++一次再判斷;但是這種情況do...while并不好用,因為判斷條件有更好的算法。
2019-09-06 回復 有任何疑惑可以回復我~
#9

weixin_慕前端0359093 提問者 回復 LTrewin

public class jissss { public static void main(String[] args) { int sum=0; int i=1; do { if(i%3!=0)sum=sum+i; }while(i<=100); i++; } System.out.println("1到100之間不能被3整除的數之和為:" + sum); } 你幫我看看這個程序。我是用Eclipse自己編的,就提示我最后一句好幾個錯誤
2019-09-06 回復 有任何疑惑可以回復我~
#10

LTrewin 回復 weixin_慕前端0359093 提問者

2個錯誤 1.首先System.out.println("1到100之間不能被3整除的數之和為:" + sum);這句,不能放在main函數外面,你把輸出語句寫到函數外面肯定報錯; 2.第一個錯誤改正了應該就不會報錯了,第二個錯誤在你函數內,i++不能放在循環外面呀,放循環外面循環就永遠結束不了,執行完if(i%3!=0)sum=sum+i;這句就要執行i++,你把i++放do while外面是永遠執行不到的;你的算法應該也有問題,我沒驗證答案正誤,你自己驗證下。
2019-09-06 回復 有任何疑惑可以回復我~
#11

慕工程0123645 回復 weixin_慕前端0359093 提問者

循環里面只有單個語句的時候,可以不加{}。
2019-09-25 回復 有任何疑惑可以回復我~
查看8條回復

;的作用就是表示這句結束,通常if的格式為if(...){...},這是一個整體,你在()后面加;相當于結束if,{}里的內容變成獨立的語句,與if()脫離關系,所以不會按()里的條件判斷。

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

weixin_慕前端0359093 提問者

可以這么理解么。就是說假如if()成立了,就執行{}里的內容么
2019-09-06 回復 有任何疑惑可以回復我~
#2

LTrewin 回復 weixin_慕前端0359093 提問者

是這樣的
2019-09-06 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

if(i%3!=0)后面加“;“”的問題!

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

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

幫助反饋 APP下載

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

公眾號

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