我所理解的Java運算符

一、算數運算符

+ - * / % ++ - –

二元運算符

1、+ 運算符

  • 字符執行時,會根據自作向右的順序執行
  • 如果數值類型的變量和字符進行求和,先將字符轉成對應的數值進行求和
  • 整數運算結束後,結果一定是整數
  • byte/short/char在運算後結果自動提升爲int
  • 如果存在字符串常量,‘+’則執行拼接操作(可以於任何類型進行拼接)

2、-運算符

  • 小數不存在精確運算

3、%運算

  • 取餘結果的正負取決於左側值的正負
  • 操作數可以爲浮點數,一般使用整數

4、/運算

  • 整數/0 拋出異常ArithmeticException 算數異常
  • 非零小數/0 非零數字/0.0 infinity 無窮
  • 0.0/0 0/0.0 0.0/0.0 NaN 非數字
  • 如果參與運算數據都爲整數。結果一定爲整數
  • 如果參與運算數據都爲小數,結果一定爲小數
  • 4/5 結果等於0

5、*運算

  • 規則同/運算

一元運算符

1、++運算

  • a++先賦值後++
  • ++a先++後賦值
  • byte b=127 b++結果爲-128
    • 無論byte、short、char在操作++、–時,底層會默認添加一個強制類型轉換,結果類型是原來的類型

2、–運算

  • 規則同++運算
  • a–先賦值後–
  • –a先–後賦值

二、賦值運算符

=、+=、-=、/=、*、&=、|=、^=、>>=、<<=、<<<=、>>>=

  • 除了=以外,其餘符號都要求變量先有值次啊能使用
  • byte/short/char可以參與賦值運算

三、關係運算符

  • 類型
    • ==
    • !=
    • >
    • <
    • >=
    • <=
  • 注意:
    • ==、!= 是所有(基本、引用)數據類型都可以使用的
    • >、<、<=、>=僅針對於數值類型(byte、short、int、long、float、double)以及char使用
    • 運算結果一定是boolean類型
    • 比較值的關係

四、邏輯運算符

  • 作用:
    • 用於連接兩邊都是布爾值或者布爾表達式的情況
  • 類型:
    • & 邏輯與
      • 遇見False則False
    • | 邏輯或
      • 遇見True則True
    • ^ 邏輯異或
      • 相同false,反之true
    • ! 邏輯非
      • 對布爾值取反,true爲false,false爲true
    • && 短路與
      • 運算規律與邏輯與相同,存在短路操作
      • 當左邊布爾值爲false,右邊表達式則不執行
    • || 短路或
      • 運算規律與邏輯或規則相同,存在短路操作
      • 當左邊布爾值爲true,右邊表達式則不執行

五、位運算符

  • 規則
    • & 按位與
      • 遇0則0,雙1則1
    • | 按位或
      • 遇1則1
      • 任意整數|0 還是本身
      • 任意負數|負數 還是負數
    • ^ 按位異或
      • 相同則0,不同則1
      • 一個屬按位異或兩次等於他自身
      • 兩個數交換
        • 中間變量
        • 求和
          • x=x+y y=x-y x=x-y
        • 按位異或
          • x=x^y y=x^y x=x^y
    • ~ 按位取反
      • 每一位按位取反
    • << 按位左移
      • 無論正負,向左移動幾位,就在最右邊添加幾個0
    • 無符號右移

      • 無論正負數,向右移動極爲就在最高位添加幾個0

六、三目運算符

  • 一元(~a)
  • 二元(a+b)
  • 三元(一定會有返回值,且僅有一個值)
    • 格式
      • 布爾表達式?表達式1:表達式2
    • 執行流程
      • 先計算布爾表達式,如果結果位true則執行表達式1,如果結果爲false,就執行表達式2
    • 注:
      • 三木運算符只會返回一個值
      • 三目運算符可以嵌套使用
      • 當沒有接受值類型時,兩個表達式類型可以任意
      • 如果兩個表達式類型都是基本數據類型,那麼就會有類型提升

七、運算符的優先級

file

  • ()
  • 一元 ++ – !~ 自右向左
    • / %
  • 加減
  • 移位
  • 關係
  • 相等判斷
  • 按位與或
  • 按位異或
  • 按位或
  • 邏輯與
  • 邏輯或
  • 三目
  • 賦值
  • 逗號

八、心靈雞湯

只有一條路不能選擇那就是放棄的路;只有一條路不能拒絕那就是堅持的路。

file


感謝閱讀,水平有限,只是記錄自己學習生涯中的漫漫IT路,如有錯漏,還請不吝賜教

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章