java編程思想3-操作符

1. 賦值

  1. 基本類型的複製中基本類型存儲了實際的數值,而並非指向一個對象的引用,所以賦值時候是直接將一個地方的內容複製到另一個地方,例如a=b,b的內容就複製給了a,若修改a,則不會影響b;但是在爲對象賦值時候,真正操作的是對對象的引用,對象賦值是對引用進行復制
  2. Random類裏面有個參數 ,種子,用於隨機數生成器的初始化值,隨機數生成器對於特定的 種子值總是產生相同的隨機數序列,爲空就會將當前時間作爲種子。nextInt()的參數設置的是隨機數的上限,下限爲0,生成 0(包含)到n(不包含)的整數
  3. 自動遞增和遞減:前綴遞增會先執行運算,再生成值;後綴遞增會先生成值,再執行運算
a = 2
++a		3
a++		2
  1. 關係操作符:
    a. ==比較的是對象的地址 ,equals方法比較的是對象的實際內容。但是equals()的默認行爲是比較引用,所以除非自己覆蓋equals方法。但是這個不適用於基本類型,基本類型直接使用==或!=即可。
  2. 指數計數法:
    a. 1.39e-43代表:1.39x10-34
  3. 按位操作符:
    a. 按位與(&)、按位或(|)、按位異或(^)(位數相同爲0,不同爲1)、非(~)
  4. 移位操作符:
    a.
    Column 1 Column 2 Column 3
    左移位操作符 << 將操作符左邊的操作數向左移動右側指定的位數,低位補0
    有符號右移位操作符 >> 將操作符左邊的操作數向右移動右側指定的位數,符號爲正,則高位插0
    無符號右移位操作符 >>> 無論正負,都在高位插0
    b.
    對char、byte、short類型的數值移位處理,移位前會被轉換成int類型,只有右側的5個低位纔會用到。若對long類型數值進行處理,最後結果也是long,只會用到數值右端的低6位。
    c.
    負數移位操作舉例:

-3 << 2

00000000 00000000 00000000 00000011      +3在計算機中表示
11111111 11111111 11111111 11111100      反碼
11111111 11111111 11111111 11111101      在反碼基礎上加1,結果即-3
11111111 11111111 11111111 1111110100    左移2位,補0,結果爲負數,就是補碼了,求原碼(去掉前面多出兩位)
10000000 00000000 00000000 00001011      反碼
10000000 00000000 00000000 00001100      在反碼基礎上加1,即結果-12

-6 >> 2

00000000 00000000 00000000 00000110       +6在計算機中表示方法
11111111 11111111 11111111 11111001        反碼
11111111 11111111 11111111 11111010        -6在計算機中的表示
1111111111 11111111 11111111 11111010       右移兩位,負數補1,結果爲負數
1000000000 00000000 00000000 000001       反碼
1000000000 00000000 00000000 000010       結果爲-2

-6 >>> 2

00000000 00000000 00000000 00000110      +6在計算機中表示方法
11111111 11111111 11111111 11111001      反碼
11111111 11111111 11111111 11111010      -6在計算機中的表示
0011111111 11111111 11111111 11111010  右移兩位,補充0,結果爲1073741822
  1. 類型轉換操作符
    a. float或double強轉爲int時,採取舍,如果想人,用Math.round()

  2. 負數知識拓展:

    a. 無符號數和有符號數的範圍區別:無符號數中,所有的位都用於直接表示該值的大小;有符號數中最高位用於表示正負
    b. 無論是字符類型,或者是整數類型,也無論這個整數是幾個字節。它都用全1來表示 -1。比如一個字節的數值中:1111 1111表示-1。1111 1111 - 1 = 1111 1110,而1111 1110就是-2。當減到只剩最高位用於表示符號的1以外,其它低位全爲0時,就是最小的負值了,在一字節中,最小的負值是1000 0000,也就是-128。
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章