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

break章节的一个问题

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

因为你的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;

                               }
                                                 }
                                                                      }
                                         }


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

宝慕林6422410 提问者

多谢详细解释
2017-11-22 回复 有任何疑惑可以回复我~

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

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

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

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

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165155    人
  • 解答问题       17581    个

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

进入课程

break章节的一个问题

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