1.++和- -是什么?
//定義一個變數a
int a = 10;
//進行a++
a++;
//我們列印一下a的值
System.out.println("a的值:"+a);//11
//進行a--
a--;
System.out.println("a的值:"+a);//10
通過上方的代碼可以觀察到++、–操作是可以讓變數的值在原有的基礎上+1或-1的
int a = 10; a++;其實就等同于a=a+1;
int a = 10; a–;其實就等同于a=a-1;
2.上方講的++、 - -操作是單獨使用的,那么我們在運算中使用++、- - 操作會是什么樣呢?
//定義一個變數a
int a = 10;
//定義變數b,使用a++
int b = a++;
//列印一下a、b的值
System.out.println("a的值:"+a);//11
System.out.println("b的值:"+b);//10
//定義一個變數a
int c = 10;
//定義變數d,使用c--
int d = c--;
//列印一下a、b的值
System.out.println("c的值:"+c);//9
System.out.println("d的值:"+d);//10
通過以上代碼運行結果發現變數b、變數d的值沒有達到預想的結果,這是因為++、- - 參與運算的時候,++、- -放在變數后是先進行賦值,再進行++或- -操作的,①int a = 10; ②int b = a++; 其實這里的②可以寫為兩句代碼,就是int b = a; a= a+1; 就是先進行賦值操作,再進行++操作
3.++、- - 參與運算的時候放在變數后是先進行賦值,再進行++或- -操作的,那放在變數前是什么樣的順序呢?
//定義一個變數a
int a = 10;
//定義變數b,使用++a
int b = ++a;
//列印一下a、b的值
System.out.println("a的值:"+a);//11
System.out.println("b的值:"+b);//11
//定義一個變數a
int c = 10;
//定義變數d,使用--c
int d = --c;
//列印一下a、b的值
System.out.println("c的值:"+c);//9
System.out.println("d的值:"+d);//9
通過以上代碼可以發現++、- - 參與運算的時候放在變數前是先進行++或- - 操作,再進行賦值,①int a = 10; ②int b = ++a; 其實這里的②可以寫為兩句代碼,就是a= a+1;int b = a; 就是先進行++,再進行賦值操作
4.++、- - 參與運算的時候放在變數前或變數后效果是不一樣的,但是單獨使用是不影響的
//定義一個變數a
int a = 10;
//進行a++
a++;
//我們列印一下a的值
System.out.println("a的值:"+a);//11
//再次讓a=10
a = 10;
//進行++a
++a;
//我們列印一下a的值
System.out.println("a的值:"+a);//11
5.知道了++、- -在運算中的特點后我們來做一個練習
1.定義變數int型別變數a = 10、b = 15、c = a++、d = ++a,計算a = ?、b = ?、c = ?、d = ?、a + --b + c++ + d = ?
//先定義a、b、c、d變數
int a = 10,b = 15,c = a++,d = ++a;
/**
* 分析一
* 這里做一下分析,經過賦值后的變數值
* a=10;
* b=15;
* (++在后)c=a=10,a=a+1=11;
* (++在前)a=a+1=12,d=12
*/
//定義變數接收一下最終的結果
int res = a + --b + c++ + d;
/**
* 分析二
* 根據運算的式子來分析,此時取分析一中的a=12,b=15,c=10,d=12
* a=12
* (--在前)b=b-1=14
* (++在后)c=c=10,然后c++,c=c+1=11 (先賦值再運算,這里參與式子的運算是c=10)
* d=12
* a + --b + c++ + d = 12 + 14 + 10 + 12 = 48
*/
//列印結果
System.out.println("a的值:"+a); //a的值就是分析二中所得的值 a=12
System.out.println("b的值:"+b); //b的值就是分析二中所得的值 b=14
System.out.println("c的值:"+c); //c的值就是分析二中所得的值 c=11
System.out.println("d的值:"+d); //d的值就是分析二中所得的值 d=12
System.out.println("運算的結果:"+res); // 式子的最終結果為48
類似的練習還有很多,總之遇見了n=x++;就先n=x, x=x+1,最終的n=x-1,然后再進行接下來的運算,
遇見了n=++x的就是x=x+1,n=x,最終的n=x
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/277435.html
標籤:其他
