運算式是任何一段可以取得一個值的程式碼,運算子就是當中的加、減、乘、除等符號。Java的運算子包括賦值運算子,比較運算子,算數運算子,位元運算子,邏輯運算子, 字串運算子, 條件運算子等。在開始之前,可嘗試下面是否與預期的結果一致。
public class CH003 { public static void main(String[] args) { System.out.println(1 + 2 * 3); //預期為____ System.out.println(2 + 2 + 8 / 4); //預期為____ System.out.println(10 % 3); //預期為____ } }
算術運算子使用上與你學過的加減乘除一樣,也是先乘除後加減。
原文 | 翻譯 | 初學必要性 |
---|---|---|
Assignment Operator | 設定運算子 | * |
Unary Operator | 一元運算 | * |
Arithmetic Operator | 算術運算子 | * |
Relational Operator | 關係運算子 | * |
Ternary Operator | 三元運算子 | |
shift Operator | 位移運算子 | |
Bitwise Operator | 位元運算子 | |
Logical Operator | 邏輯運算子 |
設定運算子
設定運算子是最常用的運算子,透過1個「等於」符號將左側值分配給右側的值。class CH004 { public static void main(String args[]) { int a = 10; int b = 20; System.out.println(a); System.out.println(b); } }
初學時要拋棄「等於」符號在口語上「相等」的涵義,要適應「等於」符號為一種「賦予」的動詞涵義。
一元運算子
一元運算只需要一個變數操作,它只能用於將值遞增或遞減1。
class CH005 { public static void main(String args[]) { int w=10, x=10, y=10, z=10; System.out.println(++w); System.out.println(x++); System.out.println(--y); System.out.println(z--); } }
符號在前面跟符號在後面有什麼不同呢?
在前面是立即表示運算後的結果,在後面則是下次呼叫它時才表示運算結果。
別擔心,通常是使用符號在後面的方式來設計程式的。
算術運算子
算術運算子處理運算元並回傳單一值,最常見的算術運算元是 加、減、 乘、除法和餘數。public class CH006 { public static void main(String[] args) { int a = 10; int b = 5; System.out.println(a + b * 3); // 預期為____ System.out.println(a + b + 8 / 4); // 預期為____ System.out.println(a % 3); // 預期為____ System.out.println(a + b % 3); // 預期為____ } }
比較特別的是,在除數為0時
關係運算子
數學上有大於、等於、小於的比較運算,Java中也提供了這些運算子,這些運算子稱之為關係運算子,它們有大於、不小於、小於、不大於、等於以及不等於,關係條件成立時以boolean型態true表示,比較條件不成立時以false表示。狀況 | 運算子 | 範例 |
---|---|---|
相等 | == | int i = 1 ;( i == 1 ) |
否定 | ! | int i = 2 ;( i != 1 ) |
小於 | < | int i = 0 ;( i < 1 ) |
小於等於 | / | int i = 2 ;( i <= 1 ) |
大於 | > | int i = 1 ;( i > 1 ) |
大於等於 | >= | int i = 1 ;( i >= 1 ) |
嘗試下列程式碼是否與預期的結果一致
public class CH007 { public static void main(String[] args) { System.out.printf("10 > 5 結果為 "+ (10 > 5)); System.out.printf("10 >= 5 結果為 "+ (10 >= 5)); System.out.printf("10 < 5 結果為 "+ (10 < 5)); System.out.printf("10 <= 5 結果為 "+ (10 <= 5)); System.out.printf("10 == 5 結果為 "+ (10 == 5)); System.out.printf("10 != 5 結果為 "+ (10 != 5)); } }
沒有留言:
張貼留言