Java--关于 i++ 与 ++i

在《Java程序员面试宝典》里面有提到i++这个部分:

 

j++,是一个依赖于java里面的“中间缓存变量机制”来实现的,

 

通俗的说:

 

++在前就是“先加后赋”(++j)

 

++在后就是“先赋后加”  (j++)

 

 


 

public class Test1 {
 public static void main(String[] args) {


  int i = 10;
  int a = 0;
  int b = 0;
  int c = 0;
  int d = 0;


//  a = i++ + i++; //21
  /*
   * temp1 = i;         10
   * i = i + 1;            11
   * temp2 = i;         11
   * i = i + 1;            12
   * a = temp1 + temp2 = 21;
   */


//  b = ++i + ++i; //23
  /*
   * i = i + 1;           11
   * temp1 = i;        11
   * i = i + 1;           12
   * temp2 = i;        12
   * b = temp1 + temp2 = 23;
   */


//  c = ++i + i++; //22
  /*
   * i = i + 1;              11
   * temp1 = i;           11
   * temp2 = i            11
   * i = i + 1;              12 
   * c = temp1 + temp2 = 22
   */


  d = i++ + ++i; //22
  /*
   * temp1 = i;               10
   * i = i + 1;                  11
   * i = i + 1;                  12
   * temp2 = i;               12
   * d = temp1 + temp2 = 22;
   */


  System.out.println(a);
  System.out.println(b);
  System.out.println(c);
  System.out.println(d);
 }
}


 

你可能感兴趣的:(java,java,java,i++,++i,先加后赋,先赋后加)