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

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

為什么break放在system前面運行的結果不對呢?

public class HelloWorld {
??? public static void main(String[] args) {
?? ??? ?
?? ??? ?// 保存累加值
?? ??? ?int sum = 0;
?? ??? ?
?? ??? ?// 從1循環到10
?? ??? ?for (int i = 1; i <= 10; i++) {
?? ??? ??? ?
?? ??? ??? ?// 每次循環時累加求和
?? ??? ??? ?sum = sum + i;
?? ??? ??? ?
?? ??? ??? ?// 判斷累加值是否大于20,如果滿足條件則退出循環
?? ??? ??? ?if (sum>20 ) {
?? ??? ??? ??? ?break;
?? ??? ??? ??? ?}System.out.print("當前的累加值為:" + sum);
?? ??? ??? ??? ?
?? ??? ??? ??? ?//退出循環
?? ??? ??? ??? ?
?? ??? ??? ?
?? ??? ?}
?? ?}

運行結果:

當前的累加值為:1當前的累加值為:3當前的累加值為:6當前的累加值為:10當前的累加值為:15


正在回答

3 回答

你的?System.out.print("當前的累加值為:" + sum); 還在循環體內,所以每循環一次就會打印一句結果;另外你這里break只是跳出了if語句,并不是跳出for循環

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

https://img1.sycdn.imooc.com//5b9f52e00001a43a07230577.jpg樓主可以看看我的,我感覺樓上不對。

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

qq_慕斯313599

層主回答正確,break 在System前面后面都可以。 樓主你得break中斷了循環,但是你的System還在for循環{}內,所以輸出很多。 另外樓主復制出來的代碼少了一個}
2019-04-09 回復 有任何疑惑可以回復我~
#2

qq_慕斯313599 回復 qq_慕斯313599

層主回答正確,break 在System前面后面都可以。 樓主你的代碼:System在for循環{}中。 sum=1,不滿足if,System輸出一次; sum=3,不滿足if,System輸出一次; sum=15,不滿足if,System輸出一次; sum=21,滿足if,break中斷循環,for循環{}內的System不再執行。 另外樓主復制出來的代碼少了一個}
2019-04-09 回復 有任何疑惑可以回復我~

因為:滿足sum>20時,執行break;語句,就跟出for循環了,后面的System語句就不再執行。break;語句是跳出循環的,可以你弄混了,以為是跳出if語句。

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

舉報

0/150
提交
取消

為什么break放在system前面運行的結果不對呢?

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

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

幫助反饋 APP下載

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

公眾號

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