JAVA小白搞懂自加(++)自減(--)運算

背景:在實驗樓學到運算符號這一章的時候看到自加自減的含義和舉例懵逼了,作爲JAVA小白實在是理解不能,百度搜索出來的基本上也都不是寫給小白看的,苦思良久,終於能理解下來,所以寫出來分享給跟我一樣的初學者,粗看之下又有點困惑的朋友。
JAVA的自加自減運算分成兩種情況運算符號在變量前(++x, –x)和在變量後(x++, x–)。

  1. 當運算符號在變量前面時,代表先進行該變量+1或-1運算再賦值。例如:
int a = 3;
    System.out.println("The value is: "+(++a))

++a的意思就是先計算a+1的值,再把這個值4打印出來,這時候變量a的值也是4。

  1. 當運算符號在變量後面時,代表先把變量的值輸出,再對變量自身進行+1或者-1的運算。例如:
int b = 2;
    System.out.println("The value is: "+(++b))

b++的意思就是先把b的值2打印出來,再對b進行+1計算,這時候b的值是3。

下面擴展一下,舉幾個例子,應該能理解的更深入。

例1:

int a = 5;
int b = 3;
int c = 3;
int d = 3;
    System.out.println("a++ = "+(a++));
    System.out.println("++a = "+(++a));
    System.out.println("b-- = "+(b--));
    System.out.println("--b = "+(--b));
    System.out.println("c++ = "+(c++));
    System.out.println("++d = "+(++d));

這段代碼輸出的結果如下:

a++ = 5 //首先打印a的值5,然後再對變量進行+1計算,這時a=6
++a = 7 //首先對變量a=6進行+1計算,然後再打印計算值7,這時a=7
b-- = 3 //首先打印b的值3,然後再對變量進行-1計算,這時b=2
--b = 1 //首先對變量b=2進行-1計算,然後再打印計算值1,這時b=1
c++ = 3 //首先打印c的值3,然後再對變量進行+1計算,這時c=4
++d = 4 //首先對變量d=3進行+1計算,然後再打印計算值4,這時d=4

例2:

int a = 1;
a=a++ + ++a; //1+(1+1+1)=4
int b = 1;
b= ++b + b++ + b++ + b++; //(1+1)+2+(2+1)+(3+1)=11
int c = 1;
c=c++ + c++ + c++ + ++c; //1+(1+1)+(2+1)+(1+3+1)=11
int d = 1;
d=++d + ++d; //(1+1)+(1+2)=5
    System.out.println("a = "+a);
    System.out.println("b = "+b);
    System.out.println("c = "+c);
    System.out.println("d = "+d);

輸出結果如下:

a = 4 //1+(1+1+1)=4
b = 11 //(1+1)+2+(2+1)+(3+1)=11
c = 11 //1+(1+1)+(2+1)+(1+3+1)=11
d = 5 //(1+1)+(1+2)=5

例3:

int a = 3;
int b = 3;
    a++;
    System.out.println("a = "+a);
    System.out.println("b++ = "+(b++));
    ++a;
    System.out.println("a = "+a);
    System.out.println("++b = "+(++b));

輸出如下:

a = 4
b++ = 3
a = 5
++b = 5

例4:

int a = 1;
int b = 1;
for(int c = 0; c < 3; c++) {
    System.out.println("c = "+c);
    a++;
    System.out.println("a = "+a);
    ++b;
    System.out.println("b = "+b);
}

輸出如下:

c = 0
a = 2
b = 2
c = 1
a = 3
b = 3
c = 2
a = 4
b = 4

例5:

int num[][] = new int[3][3];
int c = 0;
for(int a = 0; a < 3; a++){
    System.out.println("a = "+a);
    for(int b = 0; b < 3; b++){
        System.out.println("b = "+b);
        System.out.println("c = "+c);
        num[a][b] = c++;
        System.out.println("c = "+c);
    }
}

輸出如下:

a = 0
b = 0
c = 0
c = 1
b = 1
c = 1
c = 2
b = 2
c = 2
c = 3
a = 1
b = 0
c = 3
c = 4
b = 1
c = 4
c = 5
b = 2
c = 5
c = 6
a = 2
b = 0
c = 6
c = 7
b = 1
c = 7
c = 8
b = 2
c = 8
c = 9
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章