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

为什么前者没有输出结果,而后者有呢

public class HelloWorld {

    public static void main(String[] args) {

        int sum=0;

     

for(int i=1;i<=10;i++){

   sum=sum+i;

   if(sum>20){

     break;

      System.out.println(sum);

   }

 

}

}

public class HelloWorld {

    public static void main(String[] args) {

        int sum=0;

     

for(int i=1;i<=10;i++){

   sum=sum+i;

   if(sum>20){

         

     System.out.println(sum);

     break;

   }

 

}

}

存在区别

正在回答

4 回答

java是按照顺序结构读取的,就是在前面的代码会先执行,第一个你把break放在print前面,程序执行到break 就退出了,没有执行到print,下面的是print之后再退出的,所以上面没有打印出来

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

慕粉3337886 提问者

谢谢你
2017-01-20 回复 有任何疑惑可以回复我~
#2

慕粉3337886 提问者

非常感谢!
2017-01-20 回复 有任何疑惑可以回复我~
#3

林江断一流 回复 慕粉3337886 提问者

不客气,大家一起学习吧。
2017-01-21 回复 有任何疑惑可以回复我~

因为程序先执行的break,所以后面的输出结果语句就不执行了

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

这两个的意图都是实现一个1-6的累加,当sum>20时前者执行break直接跳出了该语句,不会执行下面的System.out.println();后者则是执行了输出语句再break。

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

循环里break后不执行了,  eclipse提示 unreachable code, 不能执行到的代码。   类似语法错误,程序错误哪里有输出。

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

举报

0/150
提交
取消

为什么前者没有输出结果,而后者有呢

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