所謂運(yùn)算符,就好比日常生活中的運(yùn)算符號(hào)“+”、“-”、“*”、“/”,這些符號(hào)幾乎天天都要用到。在Java中,運(yùn)算符就和日常生活中的運(yùn)算符號(hào)一樣,起到運(yùn)算的作用,但是不再是這么簡(jiǎn)單的運(yùn)算符。
3.1算術(shù)運(yùn)算符
算術(shù)運(yùn)算符是大家最熟悉不過(guò)的了,比如“+”、“-”、“*”、“/”。在本節(jié)中就先來(lái)介紹算術(shù)運(yùn)算符如何應(yīng)用和有哪些注意事項(xiàng)。
+:加法運(yùn)算符,也可做字符的連接用途。
-:減法運(yùn)算符。
*:乘法運(yùn)算符。
/:除法運(yùn)算符。
%:求余運(yùn)算符。
3.1.1“+”:加法運(yùn)算符
加法運(yùn)算符和日常生活中“+”是一樣的,都是做兩個(gè)數(shù)值的加法運(yùn)算。下面舉例在Java中的形式。
//申明兩個(gè)整數(shù)
inti=33;
intj=44;
//將33和44做加法運(yùn)算
intn=i+j;
3.1.2“-”:減法運(yùn)算符
減法運(yùn)算符和日常生活中“-”是一樣的,都是做兩個(gè)數(shù)值的減法運(yùn)算。下面舉例在Java中的形式。
//申明兩個(gè)整數(shù)
inti=66;
intj=77;
//將66和77做減法運(yùn)算
intn=i-j;
3.1.3“*”:乘法運(yùn)算符
乘法運(yùn)算符“*”和日常生活中乘號(hào)類似,只是符號(hào)不一樣而已,都是做兩個(gè)數(shù)值的乘法運(yùn)算。下面舉例在Java中的形式。
//申明兩個(gè)整數(shù)
inti=6;
intj=7;
//將6和7做乘法運(yùn)算
intn=i*j;
3.1.4“/”:除法運(yùn)算符
除法運(yùn)算符“/”和日常生活中的除號(hào)類似,只是符號(hào)不一樣而已,都是做兩個(gè)數(shù)值的除法運(yùn)算。下面舉例在Java中的形式。
//申明兩個(gè)整數(shù)
inti=24;
intj=2;
//將24和2做乘法運(yùn)算
intn=i/j;
3.1.5“%”:求余運(yùn)算符
求余運(yùn)算符“%”和日常生活中的除法求余類似。也是求兩個(gè)數(shù)值的除法運(yùn)算的余數(shù)。下面舉例在Java中的形式。
//申明兩個(gè)整數(shù)
inti=24;
intj=5;
//將24和5做求余運(yùn)算
intn=i%j;
3.2自增自減運(yùn)算符
所謂自增減運(yùn)算符,就是兩個(gè)數(shù)做加減法運(yùn)算將運(yùn)算的結(jié)果賦值給做運(yùn)算的變量。如下所示。
inti=4;
i++;
intj=4;
j=j+1;
3.3關(guān)系運(yùn)算符
關(guān)系運(yùn)算符描述的是一種關(guān)系,既然描述的是關(guān)系那結(jié)果就為對(duì)或不對(duì)。在Java里就表示為真或假。下面看關(guān)系運(yùn)算符的分類。
“==”:表示等于。
“!=”:表示不等于。
“>=”:表示大于等于。
“<=”:表示小于等于。
“>”:表示大于。
“<”:表示小于。
關(guān)系運(yùn)算符比較的是基本類型的話,就表示比較的是值是否相等。如果用“==”和“!=”比較的是對(duì)象的話就表示比較的是對(duì)象引用是否相等。
3.3.1“==”、“!=”
等于和不等于運(yùn)算符比較的是運(yùn)算數(shù)的等于和不等于,結(jié)果為ture和false。即真和假。例如下面的例子。
3.3.2“>”、“<”、“>=”、“<=”
大于和小于運(yùn)算符比較的是運(yùn)算數(shù)的大于和小于,結(jié)果為ture和false。即真和假。例如下面是使用這些關(guān)系運(yùn)算符的例子。
//定義兩個(gè)整型變量 inti=5; intj=4; booleanb1=i>j; booleanb2=i<j; booleanb3=i>=j; booleanb4=i<=j;
3.4邏輯運(yùn)算符
邏輯運(yùn)算符,其實(shí)就是比較的二進(jìn)制數(shù)的邏輯關(guān)系,運(yùn)算結(jié)果為true、false。邏輯運(yùn)算符包括如下。
與運(yùn)算符:“&&”、“&”。
非運(yùn)算符:“||”、“|”。
3.4.1“&&”與運(yùn)算符
“&&”運(yùn)算符比較的是符號(hào)兩邊的表達(dá)式的真假。
【范例3-10】通過(guò)下面代碼說(shuō)明“&&”運(yùn)算符。
示例代碼3-10
//修改上節(jié)例子,如下形式 publicclassHelloWorld10 { publicstaticvoidmain(Stringargs[]) { booleann=(4>3)&&(2<8); System.out.println(n); } }
3.4.2“||”或運(yùn)算符
“||”運(yùn)算符比較的是符號(hào)兩邊的表達(dá)式的真假,。
【范例3-11】通過(guò)下面代碼說(shuō)明“||”或運(yùn)算符。
示例代碼3-11
//修改上節(jié)例子,如下形式 publicclassHelloWorld11 { publicstaticvoidmain(Stringargs[]) { booleann=(4>3)||(2>8); //打印并顯示結(jié)果 System.out.println(n); } }
3.4.3“!”非運(yùn)算符
“!”非運(yùn)算符是把符號(hào)右邊的表達(dá)式的結(jié)果即true、false取反。如為true,取反為false;如為false,取反為true。
【范例3-12】通過(guò)下面代碼說(shuō)明“!”非運(yùn)算符。
示例代碼3-12
//修改上節(jié)例子,如下形式publicclassHelloWorld12{publicstaticvoidmain(Stringargs[]){booleann=!(2>8);//打印并顯示結(jié)果System.out.println(n);}}
3.4.4總結(jié)邏輯運(yùn)算符
“&&”運(yùn)算符,符號(hào)的兩邊都為true時(shí),結(jié)果為true。只要有一邊不為true,結(jié)果即為false。
“||”運(yùn)算符,符號(hào)的兩邊只要有一邊為true,結(jié)果就為true,如果都為false,結(jié)果即為false。
3.5三元運(yùn)算符
所謂三元運(yùn)算符,是對(duì)三個(gè)表達(dá)式進(jìn)行的集中比較,表達(dá)式1的結(jié)果為true時(shí),就為第二個(gè)表達(dá)式,如果為false時(shí),就為第三個(gè)表達(dá)式。語(yǔ)法是:
表達(dá)式1?表達(dá)式2:表達(dá)式3
【范例3-13】通過(guò)下面代碼說(shuō)明三元運(yùn)算符。
示例代碼3-13 //修改上節(jié)例子,如下形式 publicclassHelloWorld13 { publicstaticvoidmain(Stringargs[]) { //4<3表達(dá)式的結(jié)果為true和false的其中一個(gè)?! ooleann=(4<3)?true:false; //打印并顯示結(jié)果 System.out.println(n); } }
3.6位運(yùn)算符
所謂位運(yùn)算符,就是將操作數(shù)轉(zhuǎn)換成二進(jìn)制,然后按位進(jìn)行比較。
運(yùn)算符包括:
“&”:按位與運(yùn)算符。
“|”:按位或運(yùn)算符。
“^”:按位異或運(yùn)算符。
3.6.1“&”與運(yùn)算符
按位與運(yùn)算符,兩個(gè)數(shù)同位都為1的時(shí)候即為1,有一邊不是1的話就為0,即結(jié)果為false。
【范例3-14】通過(guò)下面代碼的演示來(lái)說(shuō)明“&”與運(yùn)算符。
示例代碼3-14
//修改上節(jié)例子,如下形式 publicclassHelloWorld14 { publicstaticvoidmain(Stringargs[]) { intn=4&3; //打印并顯示結(jié)果? ? ? ? System.out.println(n); ? ?}? ? ? ? ? }
3.6.2“!”或運(yùn)算符
按位或運(yùn)算符,兩個(gè)數(shù)同位有一個(gè)為1的時(shí)候即為1。
【范例】通過(guò)下面代碼的演示來(lái)說(shuō)明“!”或運(yùn)算符。
示例代碼
//修改上節(jié)例子,如下形式 publicclassHelloWorld15 { publicstaticvoidmain(Stringargs[]) { intn=4|3; //打印并顯示結(jié)果 System.out.println(n); } }
3.6.3“^”異或運(yùn)算符
按位異或運(yùn)算符,兩個(gè)數(shù)同位都為1的時(shí)候即為0。有一個(gè)為1即為1。
【范例】通過(guò)下面代碼的演示來(lái)說(shuō)明“^”異或運(yùn)算符。
示例代碼
//修改上節(jié)例子,如下形式publicclassHelloWorld16{publicstaticvoidmain(Stringargs[]){intn=4^3;//打印并顯示結(jié)果System.out.println(n);}}
3.7位移運(yùn)算符
所謂位移運(yùn)算符,和邏輯運(yùn)算符一樣,都是對(duì)表達(dá)式進(jìn)行比較的。位運(yùn)算符是先把要比較的操作數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),然后向右向左移動(dòng)相應(yīng)的位數(shù)。位移運(yùn)算符包括
>>:帶符號(hào)右移。
<<:帶符號(hào)左移。
>>>:無(wú)符號(hào)右移。
3.7.1“>>”右移運(yùn)算符
右移運(yùn)算符“>>”是把操作數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)向右移動(dòng)指定的位數(shù)。右移運(yùn)算符是有符號(hào)的,如果為正數(shù)就補(bǔ)0,如果為負(fù)數(shù)就補(bǔ)1。
【范例】通過(guò)下面代碼的演示來(lái)說(shuō)明“>>”右移運(yùn)算符。
示例代碼
//修改上節(jié)例子,如下形式 publicclassHelloWorld17 { publicstaticvoidmain(Stringargs[]) { intn=7>>2; //打印并顯示結(jié)果 08System.out.println(n);}}
3.7.2“<<”左移運(yùn)算符
左移運(yùn)算符“<<”是把操作數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)向左移動(dòng)指定的位數(shù)。左移運(yùn)算符是有符號(hào)的,如果為正數(shù)就補(bǔ)0,如果為負(fù)數(shù)就補(bǔ)1。
【范例】通過(guò)下面代碼的演示來(lái)說(shuō)明“<<”左移運(yùn)算符。
示例代碼
//修改上節(jié)例子,如下形式publicclassHelloWorld18 { publicstaticvoidmain(Stringargs[]) { intn=7<<2; //打印并顯示結(jié)果 System.out.println(n); }}
3.7.3“>>>”無(wú)符號(hào)右移運(yùn)算符
無(wú)符號(hào)右移運(yùn)算符“>>>”是把操作數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)向右移動(dòng)指定的位數(shù)。無(wú)符號(hào)右移運(yùn)算符全在最高位上補(bǔ)0。
【范例】通過(guò)下面代碼的演示來(lái)說(shuō)明“>>>”無(wú)符號(hào)右移運(yùn)算符。
示例代碼
//修改上節(jié)例子,如下形式publicclassHelloWorld19{publicstaticvoidmain(Stringargs[]){intn=7>>>2;//打印并顯示結(jié)果System.out.println(n);}}
3.8賦值運(yùn)算符
所謂賦值運(yùn)算符就好比在日常生活中的a=3,即把3賦值給變量a的意思是一樣的,以后就可以用a表示3這個(gè)數(shù)值了。
3.8.1一般賦值運(yùn)算符
一般運(yùn)算符使用“=”,在編寫代碼里最常見,也是很容易理解的。如:
intn=3;
這一條代碼的含義是把數(shù)值3賦值給整型的變量n。
3.8.2運(yùn)算賦值運(yùn)算符
運(yùn)算賦值運(yùn)算符和一般賦值運(yùn)算符很相似,也是賦值用的,但它具有運(yùn)算的功能。
【范例】通過(guò)下面代碼的演示來(lái)說(shuō)明運(yùn)算賦值運(yùn)算符。
示例代碼
publicclassHelloWorld20 { publicstaticvoidmain(Stringargs[]) { intn=7; intj=0; j+=n; //打印并顯示結(jié)果 System.out.println(j);}}
3.9運(yùn)算符之間的優(yōu)先級(jí)
運(yùn)算符的運(yùn)算優(yōu)先級(jí)是有一定的順序的。括號(hào)擁有最高的優(yōu)先級(jí),接下來(lái)是一元運(yùn)算符,最后是二元運(yùn)算符,如表所示。
知識(shí)的積累過(guò)程中,很多人都會(huì)對(duì)簡(jiǎn)單的基礎(chǔ)知識(shí)大而化之。這里希望看過(guò)本篇文章的人對(duì)基本類型的運(yùn)算有新的認(rèn)識(shí),雖然很簡(jiǎn)單,但對(duì)以后學(xué)習(xí)有很大幫助。
Java實(shí)用教程