break章节的一个问题

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

宝慕林6422410

2017-11-22 10:58

public class HelloWorld {
    public static void main(String[] args) {
  
  
  int sum = 0;
  
  
  for (int i = 1; i <= 10; i++) {
   
   
   sum = sum + i;
   
   
   
    
    System.out.print("当前的累加值为:" + sum);
   if (sum>20) { 
   
    break;
   }
  }
 }
}

输出结果为当前的累加值为:1当前的累加值为:3当前的累加值为:6当前的累加值为:10当前的累加值为:15当前的累加值为:21

为什么会这样??

写回答 关注

3回答

  • qq_溪渔_0
    2017-11-22 11:23:59
    已采纳

    因为你的System.out.print("当前的累加值为:" + sum);这一句在for循环里面,第一次i=1;输出累加值sum=0+1=1;如果累加值大于20就进入if条件语句,没有大于,所以再执行一次for循环,此时i=2,i<=10,满足条件,进入循环sum=1+2=3;然后又输出累加值为3;之后就是一直输出到输出为21的时候就进入了if条件判断,然后break的作用是退出指定循环也就是for循环。

    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.print("当前的累加值为:" + sum);  

                     break;

                                   }
                                                     }
                                                                          }
                                             }


    宝慕林642...

    多谢详细解释

    2017-11-22 11:38:39

    共 1 条回复 >

  • 慕盖茨0549824
    2018-03-26 10:15:56

    大于20的时候输出,为什么不能选择28或30或40的时候输出,而是一旦超过20就输出呢

  • 慕村2576983
    2017-11-22 11:14:14

    你的问题是指不应该打印“当前的累加值为:21”吗?如果是的话,if条件和打印顺序换一下即可

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

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

1165172 学习 · 17581 问题

查看课程

相似问题