i++和++i

Posted liubingfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了i++和++i相关的知识,希望对你有一定的参考价值。

/**
     * i++,是先赋值,后加一,++i是先加一后赋值。
     * i=++i,是i在内存自增一,然后进寄存器,最后赋值的时候i赋值就是1,第二个就是2,以此类推;
     * i=i++, 是赋值之后再自增1,i=0这个值先进寄存器,然后i在内存自增1,最后赋值的时候寄存器出来的0值会冲掉1值成为最终结果,所以无论多少个结果都会是0。
     */
// 0
    @Test
    public void character1(){
        int a = 0;
        for(int i = 0; i<99; i++){
            a = a++;
        }

        System.out.println(a);
    }
// 99
    @Test
    public void character2(){
        int a = 0;
        for(int i = 0; i<99; i++){
            a = ++a;
        }

        System.out.println(a);
    }
// 99  98
    @Test
    public void character3(){
        int a = 0;
        int b = 0;
        for(int i = 0; i < 99; i++){
            a = a++;
            b = a++;
        }
        System.out.println(a+","+b);
    }

 

以上是关于i++和++i的主要内容,如果未能解决你的问题,请参考以下文章

这个代码片段究竟做了啥?

[Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3)][C. Playing Piano](代码片段

js 常用代码片段

这个代码片段有啥作用?

JavaScript实用功能代码片段

vs 2010代码片段