今天朋友公司面试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