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