Java 之常用運算子(3)

來源:互聯網
上載者:User

標籤:沒有   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)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.