臥薪嘗膽之JAVA重學(運算子)

2021-08-21 10:34:14 字數 2462 閱讀 8462

算數運算子

(+,-,*,/,%)二元運算子(++,--)一元運算子

賦值運算子

=擴充套件運算子

+=,-=,*=,/=,

關係運算子

>,=,<=,!= ,instenceof

邏輯運算子

&&,||,!

位運算子

&,|,^,~,>>,<>>

條件運算子

? :字串連線符

++,-,*,/,%屬於二元運算子(二元運算子:需要兩個運算元完成執行計算的計算符)

例如: a+b  ;

運算規則:

整數運算

如果兩個數中有乙個是long型別的話那麼 結果  也是long型別。

沒有long時 結果為int (資料型別是 short  byte char 結果也是int型)。

浮點型運算

如果有乙個數是double 那麼結果  double型別

所有的都是float 時  結果  時   float 型別

取模運算

運用  % 進行 計算   可以是浮點數,但是通常情況下使用的整數。    結果是餘數。

注意:取模運算  結果的符號 與左邊的運算元符號相同

例如:7%5=2    -7%5=-2   

++ ,--屬於一元運算子。

例如 :   a++  

一元運算子注意事項:

例如      ++a   ,a++;

兩者之前的區分:

++a  是先進行加法運算然後在賦值   

a++ 是先賦值在進行加法運算

如下圖** 所示:

目的都是用來對變數進行賦值。

舉個例子 :

b+=2   →  b=b+2    b+2算出的值賦值給b 假設我 b=0 b+2 賦值給  b 那麼現在b=2   其餘的同理。

=    是 賦值運算子  如:b=2;

用來操作boolean值

運算子說明

&(與) 邏輯與

只要有乙個運算元是false 結果就是false

|(或)邏輯或

只要有乙個是運算元是true 結果就是 ture

&&(與)短路與

只要有乙個運算元是false  結果就是false

||(或)短路或

只要有乙個運算元是ture    結果就是ture

!(非)邏輯非

取反 如:!ture  結果是  false

^(異或)邏輯異或

運算元相同  結果 是 false  不同 結果是  true

短路問題:

&&只要有乙個 false  後面就不再進行判斷

||    只要有乙個 true   後面就不再進行判斷

& 和 | 所有的都不會進行判斷

如下圖**:

圖1.  邏輯 &運算

圖2短路&&運算

優先順序:  邏輯非 >邏輯與 > 邏輯或

數字在計算機是按照二進位制來表示的,而位運算就是針對數字的二進位制值進行操作

運算子說明~取反

&按位與

|按位或

^按位異或

<<

左移運算子  移一位相當於 *2

>>

右移運算子   移一位相當於 /2取商

如下**所示:

注意:當運算元都是 數字型時 ,& ,|,^ 是 位運算子

當運算元都是  boolean型別時 &,|,^是邏輯運算子

對字串進行連線

如 :  「a」+「b」 = 「ab」

3   +  "a"    =  "3b"

只要有乙個 是字串 那麼   就是進行字串連線操作。

1+3=4

1+"3"="13"

6)條件運算子(三目條件運算子)

用來做 判斷賦值  

如   a>b ?  a=1 : a=2 ;

解釋: 如果 a>b =true  那麼 a=1   否則 a=2 

關於運算子 優先順序  的話  建議用  ()來進行優先順序運算。但是 邏輯的 優先順序一定要記住

臥薪嘗膽之JAVA重學(變數的本質)

變數是乙個可操作的儲存空間,它的儲存位置是確定的但是裡面儲存的東西是不確定的 通過變數名來找到對應儲存空間位置來進行儲存資料。打個比方 就如同有好幾個箱子每個箱子都有乙個編號,通過編號 來判斷箱子裡應該放什麼 專門放衣服的箱子裡面放的是衣服。變數也是同理。我給乙個變數 命名 申明它的型別 然後 它所...

C 重學 運算子過載

只能通過成員函式過載 只能通過全域性函式過載 不要過載 失去短路規則 成員函式實現過載 全域性函式實現 輸入 輸出運算子過載 friend ostream operator ostream output,const distance d friend istream operator istream...

java之運算子

short s 2 s s 2 s 2 哪一行會報錯?為什麼?第二行報錯因為 有乙個自動強制轉換的過程system.out.println true true false system.out.println false false false 運算子 異或 左邊 右邊 結果 true true f...