- 相關(guān)推薦
零基礎(chǔ)如何學(xué)習(xí)Java運(yùn)算符
運(yùn)算符是java語言學(xué)習(xí)必學(xué)的知識點,下面小編為大家介紹零基礎(chǔ)如何學(xué)習(xí)Java運(yùn)算符,歡迎大家閱讀!
零基礎(chǔ)如何學(xué)習(xí)Java運(yùn)算符
1、算術(shù)運(yùn)算符:
基本上和C/C++語言中的一樣;
加(+):計算兩個數(shù)之和或者將較小的數(shù)據(jù)類型提升為int;
減(-):計算兩個數(shù)的差或者轉(zhuǎn)變數(shù)據(jù)的符號;
編譯器會自動識別是兩個數(shù)之間的計算還是其他。
比如:x = -a; x= a +b;
乘(*):計算兩個數(shù)的積;
除(/):計算兩個數(shù)之商。注意a/b,b不能為0,要不然編譯不過;整數(shù)的除法如果除不盡會直接把小數(shù)部分抹掉而不是四舍五入。
取余(%):還叫取模,取的是兩個數(shù)的余數(shù)。
自動遞增/減(--、++):++a相當(dāng)于a=a+1;注意這兩個操作符分前綴(++a)和后綴(a++),前綴會先進(jìn)行運(yùn)算,再使用這個變量,后綴是先使用變量再進(jìn)行計算;
比如:int a = 1;
println("a = " + ++a);//2;
println("a = " + a++);//2
上面打印出來都是2,第一個因為是前綴,所以先執(zhí)行運(yùn)算后打印a,第二個是先打印a再執(zhí)行運(yùn)算;
這個經(jīng)常出現(xiàn)在面試題中,在實際項目中也經(jīng)常用到。
2、關(guān)系運(yùn)算符:
關(guān)系運(yùn)算生成的'是一個boolean結(jié)果;
大于(>),小于(<),大于等于(>=),小于等于(<=),等于(==),不等于(!=)。
在基本數(shù)據(jù)類型之間使用關(guān)系運(yùn)算符很容易理解,就是比較兩個數(shù)的大小關(guān)系,但是對于等于和不等于可以用在其他的數(shù)據(jù)類型(對象)之間,這個時候比較的是對象的內(nèi)存地址是否一樣,這里先不過多講解,后面的文章在學(xué)習(xí)完類和對象之后會拿來和equals()方法放在一期講。
3、邏輯運(yùn)算符:
與(&&),或(||),非(!)生成的結(jié)果也是一個boolean值。
a&&b,a和b全為true時結(jié)果才是ture;
a||b,a或者b有一為true結(jié)果就是true;
這里a和b可能是兩個boolean變量,也可能是兩個結(jié)果為boolean的表達(dá)式。
注:說一下短路問題,這個在實際編程中也會遇到,短路是在進(jìn)行邏輯運(yùn)算時,如果通過前面的判斷已經(jīng)能夠明確的知道整個表達(dá)式的值,就不會再進(jìn)行后面表達(dá)式的邏輯判斷。例如:表達(dá)式a || 表達(dá)式b || 表達(dá)式c 在知道表達(dá)式a是true時就已經(jīng)能夠知道整個表達(dá)式的值為true,所以表達(dá)式2和3 都不會再進(jìn)行判斷。
4、位運(yùn)算符:
用來操作整數(shù)基本數(shù)據(jù)類型的每一個位,也就是把整數(shù)按照二進(jìn)制進(jìn)行計算。
int a = 50;
int b = 30;
System.out.println(Integer.toBinaryString(a));// 110010
System.out.println(Integer.toBinaryString(b));// 011110
System.out.println(Integer.toBinaryString(a & b));// 010010
System.out.println(Integer.toBinaryString(a | b));// 111110
System.out.println(Integer.toBinaryString(a ^ b));// 101100
System.out.println(Integer.toBinaryString(a << 2));// 11001000
System.out.println(Integer.toBinaryString(a >> 2));// 1100
& 按位與操作符,當(dāng)且僅當(dāng)兩個操作數(shù)都為1時結(jié)果才為1。
| 按位或操作符,只要兩個操作數(shù)的某一位是1結(jié)果就為1。
^ 按位異或操作符,兩個操作數(shù)不相同時則結(jié)果為1。
按位補(bǔ)運(yùn)算符翻轉(zhuǎn)操作數(shù)的每一位,0翻轉(zhuǎn)為1,1翻轉(zhuǎn)為0。
<< 按位左移運(yùn)算符。左操作數(shù)按位左移右操作數(shù)指定的位數(shù),低位補(bǔ)0。左移幾位等于乘2的幾次冪。
>> 按位右移運(yùn)算符。左操作數(shù)按位右移右操作數(shù)指定的位數(shù),高位補(bǔ)0或者1,取決于操作數(shù)正負(fù),正則補(bǔ)0,負(fù)則補(bǔ)1。右移幾位等于除2的幾次冪。
>>> 按位右移補(bǔ)零操作符(無符號右移)。左操作數(shù)的值按右操作數(shù)指定的位數(shù)右移,移動得到的空位以0填充。
5.三元運(yùn)算符:
三元操作符也叫條件操作符。表達(dá)式如下:
boolean-expression ? value0 : value1;
如果boolean-expression 是true則就計算value0,并且作為整個表達(dá)式的值返回,如果為false則計算value1,并作為結(jié)果返回。
6.關(guān)于優(yōu)先級:
單目乘除為關(guān)系,邏輯三目后賦值。
單目:單目運(yùn)算符+ –(負(fù)數(shù)) ++ -- 等
乘除:算數(shù)單目運(yùn)算符* / % + -
為:位移單目運(yùn)算符<< >>
關(guān)系:關(guān)系單目運(yùn)算符> < >= <= == !=
邏輯:邏輯單目運(yùn)算符&& || & | ^
三目:三目單目運(yùn)算符A > B ? X : Y
后:無意義,僅僅為了湊字?jǐn)?shù)
賦值:賦值=
【零基礎(chǔ)如何學(xué)習(xí)Java運(yùn)算符】相關(guān)文章:
Java運(yùn)算符10-04
Java“異或” 運(yùn)算符08-17
Java中運(yùn)算符的使用10-17
Java數(shù)組的基礎(chǔ)學(xué)習(xí)教程08-12
新手如何學(xué)習(xí)Java07-06
java運(yùn)算符入門教程09-21