论i++

    public static void main(String[] args) {
        int i=0;
        i=i++;
        System.out.println(i);

        int j=0;
        j++;
        System.out.println(j);
    }

先来看下示例:

第一个打印的是0;

第二个打印的是1;  

第二个大家都可以理解,但是第一个按正常的想法不应该是0 为什么呢?

操作步骤分析: int i=0; 

1.分配一个整数0 

2.i++  将整数0放入寄存器  然后操作0+1  之后返回 0

3 i=i++  重新将i赋值为返回的值0

 

所以导致了这种情况 所以开发的时候 尽量少用这些模棱两可的数据

posted @ 2019-12-24 15:08  wygflying  阅读(133)  评论(0编辑  收藏  举报