更新時(shí)間:2019-08-26 11:35:31 來源:動力節(jié)點(diǎn) 瀏覽2921次
所謂運(yùn)算符,就好比日常生活中的運(yùn)算符號“+”、“-”、“*”、“/”,這些符號幾乎天天都要用到。在Java中,運(yùn)算符就和日常生活中的運(yùn)算符號一樣,起到運(yùn)算的作用,但是不再是這么簡單的運(yùn)算符。
3.1算術(shù)運(yùn)算符
算術(shù)運(yùn)算符是大家最熟悉不過的了,比如“+”、“-”、“*”、“/”。在本節(jié)中就先來介紹算術(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)算符“*”和日常生活中乘號類似,只是符號不一樣而已,都是做兩個(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)算符“/”和日常生活中的除號類似,只是符號不一樣而已,都是做兩個(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é)果就為對或不對。在Java里就表示為真或假。下面看關(guān)系運(yùn)算符的分類。
“==”:表示等于。
“!=”:表示不等于。
“>=”:表示大于等于。
“<=”:表示小于等于。
“>”:表示大于。
“<”:表示小于。
關(guān)系運(yùn)算符比較的是基本類型的話,就表示比較的是值是否相等。如果用“==”和“!=”比較的是對象的話就表示比較的是對象引用是否相等。
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)算符比較的是符號兩邊的表達(dá)式的真假。
【范例3-10】通過下面代碼說明“&&”運(yùn)算符。
示例代碼3-10
//修改上節(jié)例子,如下形式
publicclassHelloWorld10
{
publicstaticvoidmain(Stringargs[])
{
booleann=(4>3)&&(2<8);
System.out.println(n);
}
}
3.4.2“||”或運(yùn)算符
“||”運(yùn)算符比較的是符號兩邊的表達(dá)式的真假,。
【范例3-11】通過下面代碼說明“||”或運(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)算符是把符號右邊的表達(dá)式的結(jié)果即true、false取反。如為true,取反為false;如為false,取反為true。
【范例3-12】通過下面代碼說明“!”非運(yùn)算符。
示例代碼3-12
//修改上節(jié)例子,如下形式
publicclassHelloWorld12
{
publicstaticvoidmain(Stringargs[])
{
booleann=!(2>8);
//打印并顯示結(jié)果
System.out.println(n);
}
}
3.4.4總結(jié)邏輯運(yùn)算符
“&&”運(yùn)算符,符號的兩邊都為true時(shí),結(jié)果為true。只要有一邊不為true,結(jié)果即為false。
“||”運(yùn)算符,符號的兩邊只要有一邊為true,結(jié)果就為true,如果都為false,結(jié)果即為false。
3.5三元運(yùn)算符
所謂三元運(yùn)算符,是對三個(gè)表達(dá)式進(jìn)行的集中比較,表達(dá)式1的結(jié)果為true時(shí),就為第二個(gè)表達(dá)式,如果為false時(shí),就為第三個(gè)表達(dá)式。語法是:
表達(dá)式1?表達(dá)式2:表達(dá)式3
【范例3-13】通過下面代碼說明三元運(yùn)算符。
示例代碼3-13
//修改上節(jié)例子,如下形式
publicclassHelloWorld13
{
publicstaticvoidmain(Stringargs[])
{
//4<3表達(dá)式的結(jié)果為true和false的其中一個(gè)。
booleann=(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】通過下面代碼的演示來說明“&”與運(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。
【范例】通過下面代碼的演示來說明“!”或運(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。
【范例】通過下面代碼的演示來說明“^”異或運(yùn)算符。
示例代碼
//修改上節(jié)例子,如下形式
publicclassHelloWorld16
{
publicstaticvoidmain(Stringargs[])
{
intn=4^3;
//打印并顯示結(jié)果
System.out.println(n);
}
}
3.7位移運(yùn)算符
所謂位移運(yùn)算符,和邏輯運(yùn)算符一樣,都是對表達(dá)式進(jìn)行比較的。位運(yùn)算符是先把要比較的操作數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),然后向右向左移動相應(yīng)的位數(shù)。位移運(yùn)算符包括
>>:帶符號右移。
<<:帶符號左移。
>>>:無符號右移。
3.7.1“>>”右移運(yùn)算符
右移運(yùn)算符“>>”是把操作數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)向右移動指定的位數(shù)。右移運(yùn)算符是有符號的,如果為正數(shù)就補(bǔ)0,如果為負(fù)數(shù)就補(bǔ)1。
【范例】通過下面代碼的演示來說明“>>”右移運(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ù)向左移動指定的位數(shù)。左移運(yùn)算符是有符號的,如果為正數(shù)就補(bǔ)0,如果為負(fù)數(shù)就補(bǔ)1。
【范例】通過下面代碼的演示來說明“<<”左移運(yùn)算符。
示例代碼
//修改上節(jié)例子,如下形式
publicclassHelloWorld18
{
publicstaticvoidmain(Stringargs[])
{
intn=7<<2;
//打印并顯示結(jié)果
System.out.println(n);
}
}
3.7.3“>>>”無符號右移運(yùn)算符
無符號右移運(yùn)算符“>>>”是把操作數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)向右移動指定的位數(shù)。無符號右移運(yùn)算符全在最高位上補(bǔ)0。
【范例】通過下面代碼的演示來說明“>>>”無符號右移運(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)算的功能。
【范例】通過下面代碼的演示來說明運(yùn)算賦值運(yùn)算符。
示例代碼
publicclassHelloWorld20
{
publicstaticvoidmain(Stringargs[])
{
intn=7;
intj=0;
j+=n;
//打印并顯示結(jié)果
System.out.println(j);
}
}
3.9運(yùn)算符之間的優(yōu)先級
運(yùn)算符的運(yùn)算優(yōu)先級是有一定的順序的。括號擁有最高的優(yōu)先級,接下來是一元運(yùn)算符,最后是二元運(yùn)算符,如表所示。
知識的積累過程中,很多人都會對簡單的基礎(chǔ)知識大而化之。這里希望看過本篇文章的人對基本類型的運(yùn)算有新的認(rèn)識,雖然很簡單,但對以后學(xué)習(xí)有很大幫助。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743