運算符:就是對于常量和變量進行操作的符号.
表達式:用運算符連接配接起來的符合java文法的式子,不同的運算符連接配接的表達式是不同類型的表達式.
算數運算符(+ - * / % ++ --)
指派運算符(= += -= *= /=)
關系運算符(==,!=,>,>=,<,<=)
邏輯運算符(&,|,!,^,&&,||)
三元運算符
整數相除隻能得到整數.要想得到小數,就必須有浮點數參與運算.
字元參與加法運算(純數值的為加法運算,含有字元串的為字元連接配接,char->int->string),其實是那字元在計算機中的存儲的資料值(ASCII碼表)來參與運算的
算數運算符++ --之中的小問題.是從左向右計算,然後在向左指派
算數運算符++ --之中的天坑
這裡涉及到作業系統的知識,簡單說一下:我們平時的變量和對象都是在記憶體中開一塊記憶體的.而運算隻有cpu能運算.這個題目裡面的坑是a把值賦給本身後自加一時的運算僅僅隻在cpu中,計算的結果存在了寄存器中,并沒有賦給記憶體中的變量.
也就可以了解為:=指派運算符就是把cpu寄存器中的結果存到記憶體中去;
基本的複制運算符:=
擴充的指派運算符:+= -= *= /=...
+=拿左面的和右邊的資料做+,然後把結果指派給左邊
注意:擴充的指派運算符,隐含了強制類型轉換,強制類型為左面的類型
例如:變量a,a+=10;相當于a=(a的資料類型)(a+10);
==,!=,>,
關系運算符的結果是boolean類型.
邏輯運算符是用來連接配接關系表達式的
&,|,!,^(異或相同則false,不同則true,可以了解為情侶關系,性别相同的不是情侶,性别不同的是情侶)
&&(和&結果一樣),||(和|結果一樣)
關系表達式?表達式1:表達式2
A.計算關系表達式的值,看是true還是false B.如果是true,表達式1就是結果;如果是false,表達式2就是結果
三元運算符也是傳回值的.