[ 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 的答案
* 浮點數不適精準數 , 建議不要將浮點數用在 == 上
留言
張貼留言