運算式是任何一段可以取得一個值的程式碼,運算子就是當中的加、減、乘、除等符號。Java的運算子包括賦值運算子,比較運算子,算數運算子,位元運算子,邏輯運算子, 字串運算子, 條件運算子等。在開始之前,可嘗試下面是否與預期的結果一致。
1 2 3 4 5 6 7 8 9 10 11 | 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個「等於」符號將左側值分配給右側的值。1 2 3 4 5 6 7 8 9 10 11 | class CH004 { public static void main(String args[]) { int a = 10 ; int b = 20 ; System.out.println(a); System.out.println(b); } } |
初學時要拋棄「等於」符號在口語上「相等」的涵義,要適應「等於」符號為一種「賦予」的動詞涵義。
一元運算子

一元運算只需要一個變數操作,它只能用於將值遞增或遞減1。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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--); } } |
符號在前面跟符號在後面有什麼不同呢?
在前面是立即表示運算後的結果,在後面則是下次呼叫它時才表示運算結果。
別擔心,通常是使用符號在後面的方式來設計程式的。
算術運算子
算術運算子處理運算元並回傳單一值,最常見的算術運算元是 加、減、 乘、除法和餘數。1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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 ) |
嘗試下列程式碼是否與預期的結果一致
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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 )); } } |
沒有留言:
張貼留言