在Java語(yǔ)言中運(yùn)算符有算術(shù)運(yùn)算符、邏輯運(yùn)算符、比較運(yùn)算符等等,雖然簡(jiǎn)單,但是在Java語(yǔ)言中是十分重要的。接下來(lái)我將詳細(xì)介紹在Java中運(yùn)算符的知識(shí)。
一:算術(shù)運(yùn)算符
1.算術(shù)運(yùn)算符有哪些
①基本四則運(yùn)算符:+ - * / %
②增量賦值運(yùn)算符:+= -= *= /= %=
③自增/自減運(yùn)算符++ –
2.如何使用算術(shù)運(yùn)算符
public class TestDemo {
public static void main(String[] args) {
int a=8;
int b=20;
System.out.println(a+b);// +
System.out.println(b-a);// -
System.out.println(a*b);// *
System.out.println(b/a);// /
double c=8.0;
double d=17.0;
System.out.println(d/c);// 2.125
}
}
public class TestDemo {
public static void main(String[] args) {
int a=20;
a+=10; //等價(jià)于a=a+10;
a-=10; //等價(jià)于a=a-10;
a*=10; //等價(jià)于a=a*10;
a/=2; //等價(jià)于a=a/10;
a%=2; //等價(jià)于a=a%10;
}
}
public class TestDemo {
public static void main(String[] args) {
int a=20;
a++;
++a;
int b=a++;
int c=++a;
System.out.println(a); //24
System.out.println(b); //22
System.out.println(c); //24
}
}
3.算術(shù)運(yùn)算符的注意事項(xiàng)
加減乘都不用再說(shuō)了,首先講一下除法的兩條注意事項(xiàng);
a)int /int 結(jié)果還是int,需要使用double來(lái)計(jì)算,上面的代碼已經(jīng)展示過(guò)了
b)0不能作為除數(shù),如果0作為除數(shù)進(jìn)行運(yùn)算會(huì)報(bào)錯(cuò)
接著講一下取余的運(yùn)算注意事項(xiàng):
取余符號(hào)不僅僅可以對(duì)int求模,也能對(duì)double來(lái)求模;
double c=-8.0;
double d=17.0;
System.out.println(d%c);// 1.0
最后再說(shuō)一下自增/自減運(yùn)算符的兩條注意事項(xiàng);
a)如果不取自增運(yùn)算的表達(dá)式的返回值, 則前置自增和后置自增沒(méi)有區(qū)別.
b)如果取表達(dá)式的返回值, 則前置自增是先自增再賦值 后置自增的是先賦值再自增
二:關(guān)系運(yùn)算符
1.關(guān)系運(yùn)算符有哪些
關(guān)系運(yùn)算符有六個(gè):== != > < >= <=
2.如何使用關(guān)系運(yùn)算符
public class TestDemo {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(a == b);
System.out.println(a != b);
System.out.println(a < b);
System.out.println(a > b);
System.out.println(a <= b);
System.out.println(a >= b);
}
}
3.關(guān)系運(yùn)算符的注意事項(xiàng)
關(guān)系運(yùn)算符的表達(dá)式返回值都是boolean 類(lèi)型
三:邏輯運(yùn)算符(重點(diǎn))
1.邏輯運(yùn)算符有哪些
邏輯與 && 邏輯或 || 邏輯非 !
2.如何使用邏輯運(yùn)算
public class TestDemo {
public static void main(String[] args) {
int a=10;
int b=20;
System.out.println(a>b && a<b); //false
System.out.println(a>b || a<b); //true
System.out.println(!(a>b)); //true
}
}
3.邏輯運(yùn)算符的注意事項(xiàng)
a)對(duì)于 && , 如果左側(cè)表達(dá)式值為 false , 則表達(dá)式的整體的值一定是 false, 無(wú)需計(jì)算右側(cè)表達(dá)式
b)對(duì)于 ||, 如果左側(cè)表達(dá)式值為 true, 則表達(dá)式的整體的值一定是 true, 無(wú)需計(jì)算右側(cè)表達(dá)式
四:位運(yùn)算符
1.位運(yùn)算符有哪些
Java中對(duì)數(shù)據(jù)的操作的最小單位不是字節(jié),而是二進(jìn)制位;
位運(yùn)算符包括 按位與& 按位或| 按位取反~ 按位異或^
2.如何使用位運(yùn)算符
按位與&:如果兩個(gè)二進(jìn)制位都是1,則結(jié)果為1,否則結(jié)果為0;
按位或|:如果兩個(gè)二進(jìn)制位都是0,則結(jié)果為0,否則結(jié)果為1;
按位取反~:如果該位為0則轉(zhuǎn)為1,如果該位為1,則轉(zhuǎn)為0;
按位異或^:如果兩個(gè)數(shù)字的二進(jìn)制位相同,則結(jié)果為0,相異則結(jié)果為1;
3.位運(yùn)算符的注意事項(xiàng)
五:移位運(yùn)算(了解)
1.移位運(yùn)算符有哪些
移位運(yùn)算符有三個(gè):<< >> >>>
2.如何使用移位運(yùn)算符
左移<<:最左側(cè)位不要了,最右側(cè)補(bǔ)0;
右移>>:最右側(cè)位不要了,最左側(cè)補(bǔ)符號(hào)位(正數(shù)補(bǔ)0,負(fù)數(shù)補(bǔ)1);
無(wú)符號(hào)右移>>>:最右側(cè)位不要了,最左側(cè)補(bǔ)0;
3.移位運(yùn)算符的注意事項(xiàng)
a)左移1位,相當(dāng)于原數(shù)字2,左移N位,相當(dāng)于原數(shù)字2的N次方;
b)右移1位,相當(dāng)于原數(shù)字/2,右移N位,相當(dāng)于原數(shù)字/2的N次方;
c)由于計(jì)算機(jī)計(jì)算移位效率高于計(jì)算乘除, 當(dāng)某個(gè)代碼正好乘除 2 的N次方的時(shí)候可以用移位運(yùn)算代替;
d)移動(dòng)負(fù)數(shù)位或者移位位數(shù)過(guò)大都沒(méi)有意義
六:條件運(yùn)算符
1.條件預(yù)算福有哪些
條件運(yùn)算符只有一個(gè):表達(dá)式1?表達(dá)式2:表達(dá)式3;
2.如何使用條件運(yùn)算符
public class TestDemo {
public static void main(String[] args) {
int a=10;
int b=20;
int max=a>b?a:b; //20
System.out.println(max);
}
}
3.條件運(yùn)算符的注意事項(xiàng)
當(dāng) 表達(dá)式1 的值為 true 時(shí), 整個(gè)表達(dá)式的值為 表達(dá)式2 的值; 當(dāng) 表達(dá)式1 的值為 false 時(shí), 整個(gè)表達(dá)式的值為 表達(dá)式3 的值
七:運(yùn)算符的優(yōu)先級(jí)
運(yùn)算符按照優(yōu)先級(jí)別的高低排序分別是:自加/減運(yùn)算符、 算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符。具體請(qǐng)參考下表:
順序 |
運(yùn)算符 |
1. |
括號(hào),如 ( ) 和 [ ] |
2. |
一元運(yùn)算符,如 -、++、- -和 ! |
3. |
算術(shù)運(yùn)算符,如 *、/、%、+ 和 - |
4. |
關(guān)系運(yùn)算符,如 >、>=、<、<=、== 和 != |
5. |
邏輯運(yùn)算符,如 &、^、|、&&、|| |
6. |
條件運(yùn)算符和賦值運(yùn)算符,如 ? :、=、*=、/=、+= 和 -= |
總結(jié)
以上即使Java運(yùn)算符知識(shí)以及相應(yīng)實(shí)例代碼的全部?jī)?nèi)容,想要了解更多相關(guān)Java基礎(chǔ)知識(shí)的其他內(nèi)容請(qǐng)搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持!