糯米文學吧

位置:首頁 > 計算機 > java語言

Java的運算符和表達式

java語言2.48W

Java常用的運算符分為五類,位運算符除了簡單的按位操作外,還有移位操作。按位操作返回布爾值。下面就為大家介紹一下Java的運算符和表達式,一起來看看吧!

Java的運算符和表達式

  一、 算術運算符及算術表達式

Java中常用的算術運算符如下:

+ 加運算符

- 減運算符

* 乘運算符

/ 除運算符

% 取模運算(除運算的餘數)

++ 增量運算符

-- 減量運算符

例:測試運算符及表達式,程序輸出如圖1。

程序代碼如下:

//程序文件名稱為

public class NumberOper

{

public static void main(String args[])

{

//變量初始化

int a = 30;

int a = 20;

//定義結果變量

int r1,r2,r3,r4,r5,r6,r7,r8,r9;

//計算結果

r1 = a + b;

r2 = a-b;

r3 = a * b;

r4 = a/b;

r5 = a % b;

r6 = a ++;

r7 = b --;

r8 = ++ a;

r9 = -- b;

//輸出結果

tln("a="+a+" b="+b);//a,b的值

tln("a+b="+r1);

tla("a-b="+r2);

tln("a*b="+r3);

tln("a/b="+r4);

tln("a%b="+r5);

tln("a++="+r6);

tln("b--="+r7);

tln("++a="+r8);

tln("--b="=r9);

}

}

圖1:程序輸出結果

  二、關係運算符

關係運算符用於比較兩個數據之間的大小關係,關係運算表達式返回布爾值,即“真”或“假”。

Java中的常用關係運算如下:

= = 等於

!= 不等於

> 大於

< 小於

>= 大於等於

<= 小於等於

例:編寫程序,測試關係運算符及其表達式,程序輸出如圖2。

源程序代碼如下:

//程序文件名稱為

public class TestRelation

{

public static void main(String args[])

{

//變量初始化

int a = 30;

int b = 20;

//定義結果變量

boolean r1,r2,r3,r4,r5,r6;

//計算結果

r1 = a == b;

r2 = a != b;

r3 = a > b;

r4 = a < b;

r5 = a >= b;

r6 = a <= b;

//輸出結果

tln("a="+a" b="+b);

tln("a==b="+r1);

tln("a!=b="+r2);

tln("a>b="+r3);

tln("a<b="+r4);< p="">

tln("a>=b="+r5);

tln("a<=b="+r6);

}

}

圖2:程序輸出結果

  三、布爾邏輯運算符

表1:布爾運算符及規則

表1為布爾邏輯運算符及其規則規例等。其中簡潔或的執行結果分別與非簡潔與和非腿法看的執行結果是一致的,不同在於簡潔與檢測出符號左端的值為假時,不再判斷符號右端的值,直接將運算結果為假;而簡潔或與非簡潔或的不同在於退罰款檢測出符號左端為真是,不再判斷符號右端的值,直接將運算結果置為真。

例如:

Boolean a = false;

Boolean a = true;

a&&b檢測到a為假,則無需判斷b的值,直接將值置為假;而b‖a時檢測到b為真,則無需判斷a的值,直接將值置為真。

例:測試布爾表達式,程序輸出結果如圖3。源代碼如下:

//程序文件名稱為

public class TestLogic

{

public static void main(String args[])

{

//變量初始化

boolean a = false;

boolean b = true;

//定義結果變量

boolean r1,r2,r3,r4,r5,r6;

//計算結果

r1 = !a;

r2 = a & b;

r3 = a|b;

r4 = a^b;

r5 = a && b;

r6 = a‖b;

tln("a="+a+" b="+b);

tln("!a="+r1);

tln("a&b="+r2);

tln("a|b="+r3);

tln("a^b="+r4);

tln("a&&b="+r5);

tln("a‖b="=r6);

}

}

圖3:程序輸出結果

  四、位運算符

Java中的常用位運算符如下:

~位求反

& 按位與

| 按位或

^按位異或

<< 左移

>> 右移

>>> 不帶符號右移

右移運算符對應的表達式為x>>a,運算的結果是操作數x被2的a次方來除,左移運算符對應的表達式為x<<a,運算的結果是操作數x乘以2的.a次方。< p="">

例:測試位運算符<<和>>,程序輸出結果如圖4。

源程序代碼如下:

//程序文件名稱為

public class TestBit

{

public static void main(String args[])

{

//變量初始化

int a = 36;

int b = 2;

//定義結果變量

int r1,r2;

//計算結果

r1 = a >> b;

r2 = a << b;

//輸出結果

tln("a="+a+" b="+b);

tln("a>>b="+r1);

tln("a<<b="+r2);< p="">

}

}

圖4:程序輸出結果

  五、賦值運算符

賦值運算符分為簡單運算符和複雜運算符。簡單運算符指“=”,而複雜運算符是指算術運算符、邏輯運算符、位運算符中的雙目運算符後而再加上“=”。表2列出Java常用的賦值運算符及其等價表達式。

表2:賦值運算符

  六、其它操作符及其表達式

三目運算符(?:)相當於條件判斷,表達式x?y:z用於判斷x是否為真,如果為真,表達式的值為y,否則表達式值為z。

例如:

int x = 5;

int a = (x>3)?5:3;

則a的值為5。如果x = 2,則a的值為3。

對象運算符(instanceor)用來判斷的一個對象是否屬於某個指定的類或其子類的實例,如果是,返回真(true),否則返回假(false)。

例:

boolean b = userObject instanceof Applet

用來判斷userObject類是否是Applet類的實例。

  七、優先級

表3:運算符優先級