計算機(jī)的最基本用途之一就是執(zhí)行數(shù)學(xué)運算秦忿,作為一門計算機(jī)語言,Java也提供了一套豐富的運算符來操縱變量。我們可以把運算符分成以下幾組:算術(shù)運算符、關(guān)系運算符结序、位運算符、邏輯運算符纵潦、賦值運算符徐鹤、其他運算符垃环。
1.算術(shù)運算符
算術(shù)運算符用在數(shù)學(xué)表達(dá)式中,它們的作用和在數(shù)學(xué)中的作用一樣返敬。+遂庄、-、*劲赠、/涛目、%、++凛澎、--
注意:
前綴自增自減法(++a,--a): 先進(jìn)行自增或者自減運算霹肝,再進(jìn)行表達(dá)式運算。
后綴自增自減法(a++,a--): 先進(jìn)行表達(dá)式運算塑煎,再進(jìn)行自增或者自減運算 實例:
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
2.關(guān)系運算符
== 讯赏、!= 、> 冷尉、< 漱挎、>= 、<=
3.位運算符
Java定義了位運算符网严,應(yīng)用于整數(shù)類型(int)识樱,長整型(long),短整型(short)震束,字符型(char)怜庸,和字節(jié)型(byte)等類型。
位運算符作用在所有的位上垢村,并且按位運算割疾。假設(shè)a = 60,b = 13;它們的二進(jìn)制格式表示將如下:
A = 0011 1100
B = 0000 1101
-----------------
A&b = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~A= 1100 0011
&(與運算):只要有一個為0嘉栓,就為0
|(或運算): 只要有一個為1宏榕,就為1
^(亦或運算):相同的為0,不同的為1
?(取反):0變成1侵佃,1變成0麻昼。
<<(按位左移):左操作數(shù)按位左移右操作數(shù)指定的位數(shù)。A << 2得到240馋辈,即 1111 0000
>>(按位右移):左操作數(shù)按位右移右操作數(shù)指定的位數(shù)抚芦。A >> 2得到15即 1111
>>>(無符號右移):符號右移,忽略符號位,空位都以0補齊
4.邏輯運算符
&&(邏輯與):全真為真
||(邏輯或):有真為真
!(邏輯非):取反
5.賦值運算符
= 叉抡、 += 尔崔、 -= 、 *= 褥民、 /= 季春、 %= 、 <<= 消返、 >>= 载弄、 &= 、 ^= 撵颊、 |=
6.條件運算符(?:)
b = (a) ? 20 : 30; //如果a為真?zhèn)萣為20侦锯,否則b為30
7.instanceof 運算符
該運算符用于操作對象實例,檢查該對象是否是一個特定類型(類類型或接口類型)秦驯。
//語法:(對象) instanceof (類類型或接口類型)
NSString name = @"test";
boolean result = name instanceof NSString; //result為真
注意:子類是父類的類型,但父類不是子類的類型挣棕。子類的實例可以聲明為父類型译隘,但父類的實例不能聲明為子類型。
8. 運算符優(yōu)先級
下表是運算符的優(yōu)先級是按從上到下一次降低的: