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

来源:4-11 Java循环跳转语句之 break

慕粉3337886

2017-01-20 14:40

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回答

  • 林江断一流
    2017-01-20 15:15:31
    已采纳

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

    林江断一流 回复慕粉3337...

    不客气,大家一起学习吧。

    2017-01-21 11:43:11

    共 3 条回复 >

  • qq_曉晓_0
    2017-01-20 15:27:42

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

  • qq_LongforBrave_0
    2017-01-20 15:22:01

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

  • syouth
    2017-01-20 15:16:27

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

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165552 学习 · 17587 问题

查看课程

相似问题