问答详情
源自:4-11 Java循环跳转语句之 break

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

答案:if(sum>20){

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

               break;

           }

     }            

  }

}

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

提问者:weixin_慕移动4434633 2016-08-17 23:02

个回答

  • 慕粉void
    2016-08-18 08:34:24
    已采纳

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

  • 慕粉3767435
    2016-08-18 00:18:07

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

  • 慕瓜4644438
    2016-08-17 23:54:22

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