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:運算子優先順序