當運算符號在變數前面時,代表先進行該變數+1或-1運算再賦值。例如:
int a = 3;
system.out.println("the value is: "+(++a));
++a的意思就是先計算a+1的值,再把這個值4輸出到控制台,這時候變數a的值也是4。
當運算符號在變數後面時,代表先把變數的值輸出,再對變數自身進行+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++)
輸出如下:
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++)
}
輸出如下:
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
Java自加自減運算子
1.自加運算子 1 單目運算子,只能操作乙個運算元 2 只能操作單個數值型的變數,不能操作常量或者表示式 如果把 放在運算元左邊,先把運算元加1,再把運算元放入表示式中運算 如果把 放在右邊,則先把運算元放入表示式中運算,然後再把運算元加1 eg1 int a 5 int b a 6 system....
指標自加自減運算
指標的自加自減運算不同於普通變數,並非簡單的加1減1。舉例 include include 指標自加自減運算 written by chen gengru updated on 2019 1 2 void main 結果 基本整形變數i在記憶體中佔4個位元組,指標ipointer是指向變數i的位址的...
指標的自加自減運算( , )
陣列名代表陣列的首位址,是指標常量,不能進行自加自減運算。void main p a printf s t p 1 p是指向指標的指標,p指向a 0 one p 1指向第二個字母n printf s t p 1 p 1指向a 1 輸出two printf c t p one 的第乙個字母 o pri...