1. 程式人生 > >Java 之常用運算符(3)

Java 之常用運算符(3)

註意 sys 有趣的 open size 除法 如果能 都是 pla

什麽是運算符:

運算符是一種“功能”符號,用以通知 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)