[ JAVA ]-運算子 Operator

<!--more-->

😇運算式, 運算元, 運算子介紹

Java <運算式> 是由 <運算元> 和 <運算子> 組成

Expression = Operands + Operators

運算式      =     運算元 +  運算子

*運算式的範例: int c = a + b - 1  、 int d = a>= b 、 boolean e = a > b && a > 1

  變數 a 、 b 、1 是 <運算元> ;  + 、 - 、 >= 、> 、&& 為 <運算子>

  運算子可對一個、兩個 或三個運算元執行動作,依照所需的問算元數目可分 :
              一元運算子(unary operator),例 : a++ 、 --a
              二元運算子(binary operator),例 : a = 2
              三元運算子(ternary operator),例 : (x>0) ? x-1 : (x+1)

  依照運算子擺放的位置可分為 :
             前置(prefix)運算子 : 運算子擺放在院算元之前, 例 : ++ i
             中置(infix)運算子 : 運算子擺放在運算元之後, 例 : i ++
             後置(postfix)運算子 : 運算子擺放在中間, 例 : a + b


😇算數運算子 (Arithmetic Operator)


























    後置運算:


    前置運算:




    算術運算與自動轉型規則 :
            *java 會將運算式中所有的運算元自動轉型成最大運算元型別來運算,
            *若所有的運算元都小於int , 程式會自動轉型為 int 來運算
                        1) short a = 1;
                        2) short b = 2;
                        3) short c = (short)(a + b)


    文字串接(String Concatenation) :
            * ( + ) 中只要有一個運算元是字串, 另一個運算元也會被轉成字串
                        1) System.out.println(5+6+"str"); // 11str
                        2) System.out.println("str"+5+6); // str56


    算數運算子(Arithmetic Operator ) :
            * 整數 / 整數 ( 取商數 )
                        10 / 3 = 3 ... 1 餘數捨棄
                        10 / 0 = throws ArithmeticException 分母不可為 0

            * 運算元 ( 除數或被除數 )中至少有一為浮點數
                        10.0 / 3 = 3.33333334 不丟棄餘數
                        10.0 / 0.0 = infinity
                        -10.0 / 0.0 = -infinity
                        0.0 / 0.0 = NaN
                        (分母可為 0 )

            * 整數 % 整數 ( 取餘數 )
                        10    %   0   = throws ArithmeticException 分母不可為 0
                        11    %   3   = 2
                        11    %  (-3) = 2
                        (-11) % 3    = -2
                        (-11) % (-3) = -2

            * 若有一個以上的運算元為浮點數
                        10.0 % 0.0 = NaN
                        0.0 % 0.0 = NaN
                        8.0 % 3 = 2.0
                        6.5 % 3.2 = 0.1 (商數須為整數)

😇關係運算子 (Relational Operator)


            * 關係運算子會得到 true 或 false 的答案
            * 浮點數不適精準數 , 建議不要將浮點數用在  == 上


😇邏輯運算子 (Logic Operator)







😇位元運算子 (Bitwise Operator)












😇指定運算子 (Assignment Operator)





😇運算子優先順序 




留言

熱門文章