1. 程式人生 > >走進Java(五):運算子

走進Java(五):運算子

算術運算子

算術運算子用在數學表示式中,它們的作用和在數學中的作用一樣。

自增自減運算子:

  • 字首自增自減法(++a,--a): 先進行自增或者自減運算,再進行表示式運算。
  • 字尾自增自減法(a++,a--): 先進行表示式運算,再進行自增或者自減運算 例項:
public class selfAddMinus{
    public static void main(String[] args){
        int a = 5;//定義一個變數;
        int b = 5;
        int x = 2*++a;
        int y = 2*b++;
        System.out.println("自增運算子字首運算後a="+a+",x="+x);
        System.out.println("自增運算子字尾運算後b="+b+",y="+y);
    }
}

執行結果為:

自增運算子字首運算後a=6,x=12
自增運算子字尾運算後b=6,y=10

賦值運算子

操作符 描述 例子
= 簡單的賦值運算子,將右運算元的值賦給左側運算元 C = A + B將把A + B得到的值賦給C
+ = 加和賦值操作符,它把左運算元和右運算元相加賦值給左運算元 C + = A等價於C = C + A
- = 減和賦值操作符,它把左運算元和右運算元相減賦值給左運算元 C - = A等價於C = C -  A
* = 乘和賦值操作符,它把左運算元和右運算元相乘賦值給左運算元 C * = A等價於C = C * A
/ = 除和賦值操作符,它把左運算元和右運算元相除賦值給左運算元 C / = A等價於C = C / A
(%)= 取模和賦值操作符,它把左運算元和右運算元取模後賦值給左運算元 C%= A等價於C = C%A
<< = 左移位賦值運算子 C << = 2等價於C = C << 2
>> = 右移位賦值運算子 C >> = 2等價於C = C >> 2
&= 按位與賦值運算子 C&= 2等價於C = C&2
^ = 按位異或賦值操作符 C ^ = 2等價於C = C ^ 2
| = 按位或賦值操作符 C | = 2等價於C = C | 2

關係運算符

表格中的例項整數變數A的值為10,變數B的值為20:

運算子 描述 例子
== 檢查如果兩個運算元的值是否相等,如果相等則條件為真。 (A == B)為假(非真)。
!= 檢查如果兩個運算元的值是否相等,如果值不相等則條件為真。 (A != B) 為真。
檢查左運算元的值是否大於右運算元的值,如果是那麼條件為真。 (A> B)非真。
檢查左運算元的值是否小於右運算元的值,如果是那麼條件為真。 (A <B)為真。
>= 檢查左運算元的值是否大於或等於右運算元的值,如果是那麼條件為真。 (A> = B)為假。
<= 檢查左運算元的值是否小於或等於右運算元的值,如果是那麼條件為真。 (A <= B)為真。

邏輯運算子

下表列出了邏輯運算子的基本運算,假設布林變數A為真,變數B為假

操作符 描述 例子
&& 稱為邏輯與運算子。當且僅當兩個運算元都為真,條件才為真。 (A && B)為假。
| | 稱為邏輯或操作符。如果任何兩個運算元任何一個為真,條件為真。 (A | | B)為真。
稱為邏輯非運算子。用來反轉運算元的邏輯狀態。如果條件為true,則邏輯非運算子將得到false。 !(A && B)為真。

短路邏輯運算子:

當使用與邏輯運算子時,在兩個運算元都為true時,結果才為true,但是當得到第一個操作為false時,其結果就必定是false,這時候就不會再判斷第二個操作了。

Java運算子優先順序

類別 操作符 關聯性
字尾 () [] . (點操作符) 左到右
一元 + + - !〜 從右到左
乘性  * /% 左到右
加性  + - 左到右
移位  >> >>>  <<  左到右
關係  >> = << =  左到右
相等  ==  != 左到右
按位與 左到右
按位異或 ^ 左到右
按位或 | 左到右
邏輯與 && 左到右
邏輯或 | | 左到右
條件 ?: 從右到左
賦值 = + = - = * = / =%= >> = << =&= ^ = | = 從右到左
逗號 左到右