答案:if(sum>20){
System.out.println("当前的累加值为:"+sum);
break;
}
}
}
}
输出的结果却一样,这是为什么?碰巧还是两者相同?
两者的sum都是循环累加到21,满足sum>20的条件,通过break跳出循环。答案是先跳出循环,再输出sum,你的是先输出sum再跳出循环。所以结果是一样的。
因为触发break;需要满足条件sum>20.而在你的代码sum在执行break;时已经赋值21了。
其实关键在于sum的值,只要大于20,就回终止for循环,并获取当前sum。而Syso的执行是在break之前就被执行了,如果放在break后面,就不会输出结果了。