为什么while循环里i++在System.out.println();前一行和后一行输出的值不一样?

来源:4-7 Java循环语句之 while

OO2991114

2021-05-20 22:14

public class While1 {
    public static void main(String[] args) {
        int i   =   0;
        int sum =   0;
        while(i<=100){
        sum+=i;
            System.out.println(i);
        i++;

        }
    }
}
这个代码所得的的值会往后从1开始到101结束


public class While1 {
    public static void main(String[] args) {
        int i   =   0;
        int sum =   0;
        while(i<=100){
        sum+=i;
        i++;
            System.out.println(i);
        }
    }
}
这段代码输出的值会从0开始到100结束



写回答 关注

2回答

  • 胡神仙
    2022-03-18 10:46:19

    i++执行的顺序不一样,在前面就先执行i++,就是从2开始输出,i++在后面,先输出在自加,就是从1开始

  • weixin_慕少7444372
    2021-05-21 15:47:50
    public class While1 {
        public static void main(String[] args) {
            int i   =   0;
            int sum =   0;
            while(i<=100){
            sum+=i;
                System.out.println(i);
            i++;
    
            }
        }
    }
    这个代码所得的的值会往后从0开始到100结束是因为你先输出的是0然后再累加输出
    
    
    public class While1 {
        public static void main(String[] args) {
            int i   =   0;
            int sum =   0;
            {
            sum+=i;
            i++;
                System.out.println(i);
            }
        }
    }
    这段代码输出的值会从1开始到101结束是因为你是累加后i=1再输出100次的


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

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

1165172 学习 · 17581 问题

查看课程

相似问题