Java編程基礎元素-運算符

1 前言

運算符就是在用變量或常量進行運算時,經常需要用到的運算符,Java 提供瞭豐富的運算符,可分為4類:算術運算符、關系運算符、邏輯運算符和位運算符。

2 算術運算符

2.1 四則運算

算術運算符的用途類似一般數學運算中的加(+)、減(-)、乘(×)和除(/)四則運算,是經常使用的數學運算符。這些算術運算符在Java語言中的用法及功能與它們在傳統的數學中的用法及功能相同。四則運算符和數學上的功能一模一樣。而求餘數運算符“%”用於計算兩數相除後的餘數,這個運算要求參與運算的兩個操作數都必須是整數類型。

public static void main(String[] args) {
    int a = 13+5;
    int b = 19-2;
    int c = 3*5;
    int d = 20/2;
    System.out.println("a="+a);
    System.out.println("b="+b);
    System.out.println("c="+c);
    System.out.println("d="+d);
}

輸出結果:

a=18
b=17
c=15
d=10

2.2 字符串運算符

不過,我們要註意的是加法運算符,在Java中,它除瞭可以執行數值加的運算,還具有“字符串串接”的功能。

public static void main(String[] args) {
    int x = 6;
    int y = 9;
    String z = "xy";
    System.out.println(z + x + y);
}

輸出結果:

xy69

2.3 一元運算符

對於很多表達式而言,運算符前後都會有操作數。但有一類操作符比較特別,它隻需要一個操作數。這類運算符稱為一元運算符。常見的一元運算符有:+(正號)、 -(負號)、++(自增)、(–)自減

一元減號可以得到數據的負值。一元加號的作用相反,不過它唯一能影響的就是把較小的數值類型自動轉換為 int 類型。

public static void main(String[] args) {
    int x = +5;
    int y = -3;
    x++;
    y--;
}

輸出結果:

x=6
y=-4

3 關系運算符

關系運算符會通過產生一個佈爾(boolean)結果來表示操作數之間的關系。如果關系為真,則結果為 true,如果關系為假,則結果為 false。常見的關系運算符有:==(等於)、!=(不等於)<(小於)、>(大於)、<=(小於等於)和>=(大於等於)

public static void main(String[] args) {
    int a = 10;
    int b = 11;
    boolean result = a == b;
    System.out.println(result);
}

輸出結果:

false

4 邏輯運算符

每個邏輯運算符根據參數的邏輯關系生成佈爾值 true 或 false。常見的邏輯運算符有3個,即與(&&)、或(||)、非(!)

public static void main(String[] args) {
    boolean a = true;
    int b = 0;
    boolean result = a || b++>0;
    System.out.println(result);    
}

輸出結果:

true

5 位運算符

位運算符允許我們操作一個整型數字中的單個二進制位。位運算符會對兩個整數對應的位執行佈爾代數,從而產生結果。位運算符有&(按位與)、|(按位或)、^(按位異或)、<<(左移)、>>(右移)。

左移運算符(<<)規則

按二進制形式把所有的數字向左移動對應的位數,高位移出(舍棄),低位的空位補零。

語法格式:需要移位的數字 << 移位的次數。例如: 3 << 2,則是將數字3左移2位

計算過程:首先把3轉換為二進制數字0000 0000 0000 0000 0000 0000 0000 0011,然後把該數字高位(左側)的兩個零移出,其他的數字都朝左平移2位,最後在低位(右側)的兩個空位補零。則得到的最終結果是0000 0000 0000 0000 0000 0000 0000 1100,則轉換為十進制是12。

右移運算符(>>)規則:

按二進制形式把所有的數字向右移動對應位移位數,低位移出(舍棄),高位的空位補符號位,即正數補零,負數補1。

語法格式:需要移位的數字 >> 移位的次數。例如11 >> 2,則是將數字11右移2位

計算過程:

11的二進制形式為:0000 0000 0000 0000 0000 0000 0000 1011,然後把低位的最後兩個數字移出,因為該數字是正數,所以在高位補零。則得到的最終結果是0000 0000 0000 0000 0000 0000 0000 0010。轉換為十進制是2。

6 碼農洞見

6.1 運算符思維導圖

在這裡插入圖片描述

6.2 運算符優先級

運算符的優先級決定瞭存在多個運算符時一個表達式各部分的運算順序。Java 對運算順序作出瞭特別的規定。其中,最簡單的規則就是乘法和除法在加法和減法之前完成。程序員經常都會忘記其他優先級規則,所以應該用括號明確規定運算順序。運算符的優先順序:

  • 分隔符: [] () ; ,
  • 從右到左結合: ++ – + - ~ !
  • 從左到右結合: * / %
  • 從左到右結合: + -
  • 從左到右結合: << >> >>>
  • 從左到右結合: < > <= >= 
  • 從左到右結合: == !=
  • 從左到右結合: &
  • 從左到右結合: ^
  • 從左到右結合: |
  • 從左到右結合: &&
  • 從左到右結合: ||
  • 從右到左結合: ?:
  • 從右到左結合: = *= /= %= += -=  <<=  >>=  >>>= &= ^= |=

同樣優先級的運算符是從左到右計算還是從右到左計算稱為運算符的結合性。

到此這篇關於Java編程基礎元素-運算符的文章就介紹到這瞭,更多相關Java元素-運算符內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: