int i = 1; System.out.println(i++); //先执行输出,再对i进行自增操作-----打印 1 //此时i=2 System.out.println(++i); //先执行自增操作,再执行输出--------打印 3 //此时i=3 i++; //单独成行时++i 和 i++效果相同 System.out.println(i); //打印 4 ++i; //单独成行时++i 和 i++效果相同 System.out.println(i); //打印 5 int j = i++; //非单独使用,在表达式中,先赋值,再++ System.out.println(j); //打印 5 int k = ++i; //非单独使用,在表达式中,先++,再赋值 System.out.println(k); //打印 7
案例:
public static void main(String[] args) { int i = 2; int j = 5; //i 2 3 4 3 //j 5 4 3 4 //k 2 + 4 - 4 + 4 - 4 + 4 + 7 /* * (i++) i=2 -> k=2 -> i=i+1=3 * (++i) i=3 -> i=i+1=4 -> k=k+4=6 * (--j) j=5 -> j=j-1=4 -> k=k-4=2 * (j--) j=4 -> k=k+4=6 -> j=j-1=3 * (i--) i=4 -> k=k-4=2 -> i=i-1=3 * (++j) j=3 -> j=j+1=4 -> k=k+4=6 * ( +7) k=6 -> k=k+7=13 */ int k = i++ + ++i - --j + j-- - i-- + ++j + 7 ; System.out.println(i); //3 System.out.println(j); //4 System.out.println(k); //13 }