Java学习笔记—理解i++和++i

来源:互联网 发布:linux 打包tar 编辑:程序博客网 时间:2024/05/18 01:53

1.先来两个简单的例子说明i++与++i的区别

public class Test{    public static void main(String[] args)    {        int i=0;        int j=i++;        System.out.println(i);//输出1        System.out.println(j);//输出0    }}

可以看出i++是先赋值再加一

public class Test{    public static void main(String[] args)    {        int i=0;        int j=++i;        System.out.println(i);//输出1        System.out.println(j);//输出1    }}

可以看出++i是先加一再赋值

2.加大一下难度,观察以下代码,思考一下输出的结果

public class Test{    public static void main(String[] args)    {        int i=0;        for(int j=0;j<10;j++)        {            i=i++;        }        System.out.println(i);    }}

咋一看,貌似结果应该是10,其实不然,最终的结果是0,其实背后的原因是:i=i++是先赋值在自增,所以无论循环多少次,左边的i始终是0,最后结果就是0,改成i=++i,是可以达到效果的,++i是先加一再赋值