一、思維導圖
二、算術運算符
(1)++出現在變量後
++不論是出現在變量的前還是後,變量都自加1。
//++出現在變量前和變量後有什麼區別:
//先看++出現在變量後。
//語法:當++出現在變量後,會先做賦值運算,再加1
Int m =10;
Int n = m++;
System.out.println(m);//11
System.out.println(n);//10
(2)++出現在變量前
//語法規則:當++出現在變量前的時候,會先進行自加1的運算,然後再賦值。
Int x = 100;
Int y =++x;
System.out.println(x);//101
System.out.println(y);//101
(3)System.out.println(a++)的理解
System.out.println(a++);
相當於有一個變量temp
Int temp;
Temp = a ++;
System.out.println(temp);
三、關係運算符
所以的關係運算符的運行結果都是布爾類型,不是true就是false,不可能是其他值。
在java語言中:
=:賦值運算符
==:關係運算符,判斷是否相等。
關係運算符中如果有兩個符號的話,兩個符號之間不能有空格。
四、邏輯運算符
特點:(重要)邏輯運算符兩個要求都是布爾類型,並且最終的運算結果也是布爾類型,
(1)邏輯 & :只有兩邊是ture纔是true,只要有false就是false。True & true --> true。
(2)邏輯 | :只要有一邊是true,結果就是true。
(3) & 與 && 的區別:
也就是說,&後面的值是執行了的。
&&後面的沒有執行。
這兩個運算符的運算結果沒有任何區別,完全相同,只不過“短路與&&”會發生短路現象。
a、什麼是短路現象呢?
右邊表達式不執行,這種現象叫做短路現象。
b、什麼時候使用&&,什麼時候使用&?
從效率方面來說,&& 比 & 的效率高一些,因爲邏輯與&不管第一個表達式結果是什麼,第二個表達式一定會執行。
五、賦值運算符
(1)賦值運算符包括基本賦值運算符和擴展賦值運算符。
(2)基本賦值運算符?
=
(3)擴展的賦值運算符?
+=,-=,*=,/=,%=
(4)重要的語法機制,使用擴展賦值運算符的時候,永遠都不會改變運算結果類型。
Byte x =100;
X + =1;
x自誕生依賴是byte,那麼x變量的類型永遠都是byte。不會變,不管以後的後面有多少的數字,賦值運算符的右邊優先執行,先執行右邊的表達式,然後將表達式右邊的結果賦值給左邊的“盒子”。
a、 I + =10和 I =i+10真的完全一樣嗎?
然後,我們再看I += 1
其實x + =1 等同於:x =(byte)(x+1);所以可能會損失精度。
六、條件運算符
(1)語法格式:
布爾表達式? 表達式1:表達式2
(2)執行原理是什麼?
布爾表達式的結果爲true時,表達式1的執行結果作爲整個表達式的結果。
布爾表達式的結果爲false時,表達式2的執行結果作爲整個表達式的結果。
Boolean sex = false;
Sex? '女':'男';
這時候會報錯。
//前面的變量c的類型不能隨意編寫。
//最終的計算結果是字符型,所以變量也需要使用char類型。
Char c = Sex? '女':'男';
七、字符串連接運算符
(1)+運算符在java語言中有兩個作用。
作用1:求和
作用2:字符串拼接
(2)什麼時候求和?什麼時候進行字符串的拼接呢?
當+運算符兩邊都是數字類型的時候,求和。
當+運算符兩邊的“任意一邊”是字符串類型,那麼這個+會進行字符串拼接操作。
(3)字符串拼接完之後的結果還是一個字符串。
注意:當一個表達式當中有多個加號的時候,遵循自左向右的順序依次執行。(除非額外加了小括號)
System.out.println(100+200+"110");//300110
4個加號只是爲了完成字符串拼接。
//在Java語言中怎麼定義字符串類型的變量呢?
String name ="jack";
//加一個雙引號,然後雙引號之間加兩個加號,然後兩個加號中間加變量名。
System.out.println("登錄成功歡迎"+name+"回來");
總結:運算符是對數據與數據之間的處理。