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

原文地址:https://www.cnblogs.com/innocenter/p/12890119.html