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

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

for 循環問題

正確代碼:

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

問題1:

請問為什么 System.out.println(sum) 和 for循環并列放(在兩個大括號下面)而不是像教程里面在 for 循環里面這樣:

for?(int?i?=?1;?i?<=?100;?i++)?{
????????if?(?i%3?!=?0)?{
????????????sum?+=?i;
????????}
????????System.out.println(sum);
}


問題2:

如果初始化和變量變化都可以是多個用逗號隔開就好,那么為什么如下代碼輸出有問題呢?

for?(int?sum?=?0,?i?=?1;?i?<=?100?&&?i?%?3?!=?0;?sum+=i,?i++)?{
????System.out.println(sum);
}


正在回答

3 回答

問題1:如果你把System.out.println(sum);放在for循環里面,就相當于每次求完和都會輸出結果,而和for循環一起并列,最后就只會輸出最終的一個值。

問題2:你這樣寫最后只會輸出0,1。原因:循環條件i<=100&&i%3!=0表示與關系,只有&&左右兩邊都為true時才為真。一開始

sum=0,i=1,滿足循環條件,輸出sum=0,然后執行sum+=i,i++;

sum=1,i=2,滿足循環條件,輸出sum=1,然后執行sum+=i,i++;

sum=3,i=3,這時不滿足循環條件,因為3%3==0,所以右邊為false,不滿足循環條件,循環結束

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

這里不錯

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

你里面的 System.out.println(sum); 會根據上面的條件,循環打印出多次結果,直至不滿足條件為止,上面案例是輸出一次結果

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

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167472    人
  • 解答問題       18748    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

for 循環問題

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

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

幫助反饋 APP下載

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

公眾號

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