为什么break放在system前面运行的结果不对呢?

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

weibo_Catch_MT

2018-09-13 12:32

public class HelloWorld {
    public static void main(String[] args) {
        
        // 保存累加值
        int sum = 0;
        
        // 从1循环到10
        for (int i = 1; i <= 10; i++) {
            
            // 每次循环时累加求和
            sum = sum + i;
            
            // 判断累加值是否大于20,如果满足条件则退出循环
            if (sum>20 ) {
                break;
                }System.out.print("当前的累加值为:" + sum);
                
                //退出循环
                
            
        }
    }

运行结果:

当前的累加值为:1当前的累加值为:3当前的累加值为:6当前的累加值为:10当前的累加值为:15


写回答 关注

3回答

  • 慕沐4555500
    2018-10-10 21:50:21

    你的 System.out.print("当前的累加值为:" + sum); 还在循环体内,所以每循环一次就会打印一句结果;另外你这里break只是跳出了if语句,并不是跳出for循环

  • 洛辰m
    2018-09-17 15:08:58

    https://img3.mukewang.com/5b9f52e00001a43a07230577.jpg楼主可以看看我的,我感觉楼上不对。

    qq_慕斯3... 回复qq_慕斯3...

    层主回答正确,break 在System前面后面都可以。 楼主你的代码:System在for循环{}中。 sum=1,不满足if,System输出一次; sum=3,不满足if,System输出一次; sum=15,不满足if,System输出一次; sum=21,满足if,break中断循环,for循环{}内的System不再执行。 另外楼主复制出来的代码少了一个}

    2019-04-09 23:55:24

    共 2 条回复 >

  • 潘哥哥
    2018-09-13 13:41:40

    因为:满足sum>20时,执行break;语句,就跟出for循环了,后面的System语句就不再执行。break;语句是跳出循环的,可以你弄混了,以为是跳出if语句。

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

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

1165550 学习 · 17586 问题

查看课程

相似问题