Java運算符,是一種特殊的符號。用表示數據的運算,賦值和比較。java
符號:加(+),減(-),乘(*),除(/),取餘(%) 自增:++ 自減:-- 做用在於:整數和浮點型。 最終的結果:十進制。只要是byte,short,int,long,char,float,double相加結構都是十進制。 全部的運算的結果的最小範圍必定是:---int
a. 自增:++性能
不一樣行:code
int a =1; a++; ++a; System.out.println(a); //3 a++ 與 ++a 在不一樣行效果是等價的。
相同行:在運算中,或者邏輯判斷中,或者方法的傳參中就存在差別了對象
int a =5; int b = a++ + 6; System.out.println(b); // 11 System.out.println(a); // 6 int a1 =5; int b1 = ++a1 + 6; System.out.println(b1); // 12 System.out.println(a1); // 6 分析[int b = a++ + 6;]運算步驟: 先運算再遞加。 step1: a + 6 = 11 step2: a++ = 6 所以結果是 b=11,a=6 分析[int b = ++a + 6;]運算步驟: 先遞加再運算。 step1: ++a1 = 6 step2: a1+ 6 = 12 所以結果是 b1=12,a1=6
b. 自減:--
跟自增++同理內存
賦值運算符的擴展:hash
+=,-=,*=,/=,%=
< > == >= <= != 用於條件判斷中
a. == 邏輯判斷,是內存地址的比較-(二進制),還需考慮前面的數據類型。
b. = 賦值class
"==" 數字是值的比較,對象(封裝數據類型)是內存地址的比較。
若是是基礎數據類型值比較==,值相等那麼都是true,若是是封裝數據類型都是false---hashCode()基礎
格式:(邏輯判斷(boolean))?true:fakse;擴展
>> 右移運算符 >>> 無符號右移 << 左移,二進制總體往左邊移動兩位,空白位用0填充。 & 按位與,若是兩個同時爲1返回就是1,其餘的都是0。 | 按位或,若是有一位是1那麼就是1,其餘的都是0。 ^ 按位異或,兩個相同的時候0,不一樣時返回1。 ~ 按位非,單數字取反 做用:快速計算一個數字想要獲得結果,最終都是以二進制的方式進行計算。 思路: 把十進制轉成二進制,再進行移位操做。 true & false ---邏輯符合 5 & 9 ---位運算