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

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

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;

   }

 

}

}

存在区别

提问者:慕粉3337886 2017-01-20 14:40

个回答

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

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

  • 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, 不能执行到的代码。   类似语法错误,程序错误哪里有输出。