1 class Untitled { 2 public static void main(String[] args) { 3 int a = 3; 4 int b = a++; //a先賦值給b,然后a再自己加1 5 System.out.println("a="+a); //輸出a=4 6 System.out.println("b="+b); //輸出b=3 7 8 System.out.println("\n"); 9 10 a = 3; 11 int c = ++a; //a先加1,然后再賦值給c 12 System.out.println("a="+a); //輸出a=4 13 System.out.println("c="+c); //輸出c=4 14 15 16 System.out.println("\n"); 17 18 19 c++; 20 System.out.println(c); //輸出5 21 22 ++c; 23 System.out.println(c); //輸出6 24 } 25 }
自減跟自增一樣。
總結:
如果只是a++;或者++a;這樣不參與賦值操作,那結果都是一樣,都是加1;
如果是有參與賦值運算,比如:int c = a++;或int c = ++a;那么c的值是有區別的。
如果參與了賦值運算那么就要看賦值自增的運算符在變量的左邊還是右邊:
如果自增運算符在左邊:++a;那么就是a先自增,再賦值給c;
如果自增運算符在右邊:a++;那么就是a先賦值給c,再自增;
(也可以有自己的記憶理解方法)
【水平有限,不對之處,還請指出】