i++与++i运算问题

今天朋友公司面试java,问了一个问题,说没几个人答对,地基要打好啊

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

i=i++,是 把i拿出来 i=i,然后再加1

i=++i,是 先i+1 i=1,再赋值给i,

运算先后的问题

 

深入理解一下

public static void main(String[] args) {
        Integer a = 0;
        int b = 0;
        for (int i = 0; i < 2; i++) {
            a = a ++;
            b = a ++;
            System.out.println("--------"+a);
            System.out.println("--------"+b);
        }
        System.out.println(a);
        System.out.println(b);
    }
--------1
--------0
--------2
--------1
2
1

牢记i=i++;    先得到i=i,然后再是i=i+1

 

posted @ 2020-05-14 17:26  大日很忧伤  阅读(329)  评论(0编辑  收藏  举报