为了账号安全,请及时绑定邮箱和手机立即绑定

各位看一下,我的代码与答案不同,但输出的结果却一样,这是为什么?碰巧还是两者相同?

答案:if(sum>20){

              System.out.println("当前的累加值为:"+sum);

               break;

           }

     }            

  }

}

输出的结果却一样,这是为什么?碰巧还是两者相同?

正在回答

3 回答

两者的sum都是循环累加到21,满足sum>20的条件,通过break跳出循环。答案是先跳出循环,再输出sum,你的是先输出sum再跳出循环。所以结果是一样的。

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

weixin_慕移动4434633 提问者

非常感谢!
2016-08-22 回复 有任何疑惑可以回复我~

因为触发break;需要满足条件sum>20.而在你的代码sum在执行break;时已经赋值21了。

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

其实关键在于sum的值,只要大于20,就回终止for循环,并获取当前sum。而Syso的执行是在break之前就被执行了,如果放在break后面,就不会输出结果了。

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

举报

0/150
提交
取消

各位看一下,我的代码与答案不同,但输出的结果却一样,这是为什么?碰巧还是两者相同?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信