標籤:沒有 double 16px eve open click 個數 avg 操作
什麼是運算子:
運算子是一種“功能”符號,用以通知 Java 進行相關的運算。譬如,我們需要將變數 age 的值設定為 20 ,這時候就需要一個“=”,告訴程式需要進行賦值操作。
Java 語言中常用的運算子可分為如下幾種:
Ø 算術運算子
Ø 賦值運算子
Ø 比較子
Ø 邏輯運算子
Ø 條件運算子
我們試著通過一個簡單的例子來看一下運算子的使用吧!
當計算兩數之和時,需要使用加法運算子。在 Java 中,加法運算子使用“+”表示
在編輯器中,第 5 行輸入:
int sum = a + b ;
運行結果為: 兩數之和為:36
1 public class HelloWorld{2 public static void main(String[] args) {3 int a=12;4 int b=24;5 int sum = a+b;6 System.out.println("兩數之和為:"+sum);7 }8 }
Java中的算術運算子:
算術運算子主要用於進行基本的算術運算,如加法、減法、乘法、除法等。
Java 中常用的算術運算子:
其中,++ 和 -- 既可以出現在運算元的左邊,也可以出現在右邊,但結果是不同滴
例1:
1 int a = 5;2 int b = ++a; // ++出現在左邊 讓a先執行自增,然後將值賦給變數b 3 System.out.println("a:"+a);4 System.out.println("b:"+b);
運行結果:
例2:
1 int a = 5;2 int b = a ++; // ++出現在右邊 將a的值賦給變數b,然後在執行自增 3 System.out.println("a:"+a);4 System.out.println("b:"+b);
運行結果:
一定要注意哦!自增和自減運算子只能用於操作變數,不能直接用於運算元值或常量!例如 5++ 、 8-- 等寫法都是錯誤滴!
PS:% 用來求餘數,也稱為”模數運算子“
上個栗子看看:
1 public class HelloWorld{ 2 public static void main(String[] args) { 3 int age1=24; // 給定四個人的年齡 4 int age2=18; 5 int age3=36; 6 int age4=27; 7 int sum = age1+age2+age3+age4; // 求取四個年齡的總和 8 double avg = sum/4; // 求取四個年齡的平均值 9 int minus = age1-age2; // 求取 age1 和 age2 的差值10 int newAge = -- age1; // 求取 age1 自減後的年齡11 System.out.println("年齡總和:"+sum);12 System.out.println("平均年齡:"+avg);13 System.out.println("年齡差值:"+minus);14 System.out.println("自減後的年齡:"+newAge);15 16 }17 }
運行結果如下:
Java中的賦值運算子:
賦值運算子是指為變數或常量指定數值的符號。如可以使用 “=” 將右邊的運算式結果賦給左邊的運算元。
Java 支援的常用賦值運算子,如下表所示:
Java中的比較子:
比較子用於判斷兩個資料的大小,例如:大於、等於、不等於。比較的結果是一個布爾值( true 或 false )。
Java 中常用的比較子如下表所示:
注意哦:
1、 > 、 < 、 >= 、 <= 只支援左右兩邊運算元是數實值型別
2、 == 、 != 兩邊的運算元既可以是數實值型別,也可以是參考型別
上個栗子 look look:
1 public class HelloWorld{ 2 public static void main(String[] args) { 3 int a=16; 4 double b=9.5; 5 String str1="hello"; 6 String str2="imooc"; 7 System.out.println("a等於b:" + (a == b)); 8 System.out.println("a大於b:" + (a > b)); 9 System.out.println("a小於等於b:" + (a <= b));10 System.out.println("str1等於str2:" + (str1 == str2));11 }12 }
運行結果如下:
Java中的邏輯運算子:
邏輯運算子主要用於進行邏輯運算。Java 中常用的邏輯運算子如下表所示:
我們可以從“投票選舉”的角度理解邏輯運算子:
1、 與:要求所有人都投票同意,才能通過某議題
2、 或:只要求一個人投票同意就可以通過某議題
3、 非:某人原本投票同意,通過非運算子,可以使其投票無效
4、 異或:有且只能有一個人投票同意,才可以通過某議題
當使用邏輯運算子時,我們會遇到一種很有趣的“短路”現象。
譬如:( one > two ) && ( one < three ) 中,如果能確定左邊 one > two 運行結果為 false , 則系統就認為已經沒有必要執行右側的 one < three 啦。
同理,在( one > two ) || ( one < three ) 中,如果能確定左邊運算式的運行結果為 true , 則系統也同樣會認為已經沒有必要再進行右側的 one < three 的執行啦!
栗子如下:
假設有 A 、 B 、 C 、 D 四個人投票,由他們決定投票是否通過,此時就到了邏輯運算子“大顯身手”的時候了。
1 public class HelloWorld { 2 public static void main(String[] args) { 3 boolean a = true; // a同意 4 boolean b = false; // b反對 5 boolean c = false; // c反對 6 boolean d = true; // d同意 7 System.out.println((a && b)+"未通過"); 8 System.out.println((a || b)+"通過"); 9 System.out.println((!a)+"未通過");10 System.out.println((c ^ b)+"通過");11 12 }13 }
結果如下:
Java中的條件運算子:
條件運算子( ? : )也稱為 “三元運算子”。
文法形式:布林運算式 ? 運算式1 :運算式2
運算過程:如果布林運算式的值為 true ,則返回 運算式1 的值,否則返回 運算式2 的值
例如:
因為,運算式 8>5 的值為 true ,所以,返回: 8大於5
Java中的運算子優先順序:
所謂優先順序,就是在運算式中的運算順序。Java 中常用的運算子的優先順序如下表所示:
層級為 1 的優先順序最高,層級 11 的優先順序最低。譬如,x = 7 + 3 * 2 得到的結果是 13 “先乘後加”嘛!
PS:大家沒必要去死記運算子的優先順序順序,實際開發中,一般會使用小括弧輔助進行優先順序管理。例如:
分析:小括弧優先順序最高,因此
1、 執行 a + 18 ,結果為 30
2、 執行( a + 18 ) % 4 模數,結果為 2
3、 執行 a * ( ( a + 18 ) % 4 ),結果為 24
來個栗子練練手吧! 運算式( 11+ 3* 8 ) / 4 % 3 的結果是()
答案:2解析:第一步:計算3*8,結果為24;第二步:計算11+3*8,結果為35;第三步:計算(11 + 3 * 8) / 4,結果為8;第四步:計算(11 + 3 * 8) / 4 % 3,結果為2
先自己計算一遍哈
Java 之常用運算子(3)