JavaSe筆記03-關於操作符,運算符和位運算符

運算符

Java運算符,是一種特殊的符號。用表示數據的運算,賦值和比較。

  • 算數運算符
  • 賦值運算符
  • 比較運算符
  • 位運算符
  • 邏輯運算符
  • 三目運算符

1. 算數運算符

符號:加(+),減(-),乘(*),除(/),取餘(%)
自增:++
自減:--

作用在於:整數和浮點型。
最終的結果:十進制。只要是byte,short,int,long,char,float,double相加結構都是十進制。
所有的運算的結果的最小範圍一定是:---int

a. 自增:++

  • 不同行:

     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. 自減:--
跟自增++同理

2. 賦值運算符

  • 等號 =,只要賦值了就修改內存控制的二進制
  • 基礎數據類型的默認值:
    byte short int long 都是0
    float double == 0.0
    boolean == false
    char==u0000 空格
  • 賦值運算符的擴展:

      +=,-=,*=,/=,%=

3. 比較運算符

    < > == >= <= != 用於條件判斷中

a. == 邏輯判斷,是內存地址的比較-(二進制),還需考慮前面的數據類型。
b. = 賦值

"==" 數字是值的比較,對象(封裝數據類型)是內存地址的比較。
如果是基礎數據類型值比較==,值相等那麼都是true,如果是封裝數據類型都是false---hashCode()

4. 邏輯運算符

  • 短路:或 || 且 && 非 !
  • 不短路:或 | 且 & 非 ^ (從性能上講,不推薦使用。)

5. 三目運算符

格式:(邏輯判斷(boolean))?true:fakse;

6. 位運算符(7個) ---計算

>>  右移運算符
>>> 無符號右移
<<  左移,二進制整體往左邊移動兩位,空白位用0填充。
&  按位與,如果兩個同時爲1返回就是1,其他的都是0。
|  按位或,如果有一位是1那麼就是1,其他的都是0。
^  按位異或,兩個相同的時候0,不同時返回1。
~  按位非,單數字取反
作用:快速計算一個數字想要得到結果,最終都是以二進制的方式進行計算。
思路: 把十進制轉成二進制,再進行移位操作。

true & false ---邏輯符合
5 & 9 ---位運算
   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章