再回首,Java溫故知新(三):Java基礎資料型別 (Elementary Data Type)之整型

來源:互聯網
上載者:User

標籤:

  註:因為此次學習打算看一遍相關Java源碼,所以更新速度一開始會相對慢一些。還有就是不得不佩服那群大牛啊,演算法不是一時半會能懂的,本來打算直接弄懂的,後來感覺這樣效率太低了,所以決定大體上通讀一遍,反正以後肯定還會回來再次學習。

  Java作為一種強型別語言,意味著每一個變數都會有特定的類型,Java共有8種基本類型,其中有4種整型(byte、short、int、long)、兩種浮點型(float、double)、1種字元型(char)和一種布爾型(boolean),值得注意的是,雖然字串String非常常用,但是它卻不屬於基本類型。

  一、整型

  整型在表示沒有小數部分的數值,允許負數(Java中沒有無符號類型,即unsigned),電腦中的儲存資訊的最小單位是位(bit),儲存容量的基本計量單位是位元組(Byte),一個位元組佔8個位,整型資料的取值範圍根據其儲存的位元計算,即2的N次方,例如byte類型佔1個位元組,佔8個位,所以共有256個值,負數包括-128~-1,正數包括0~127。同理,整型資料的儲存需求和取值範圍如下:

類型 儲存需求(位元組) 取值範圍
byte 1 -128 ~ 127
short 2 -32768 ~ 32767
int 4 約等於-21億 ~ 21億
long 8 正常使用中不太可能溢出,範圍約為-92億億 ~ 92億億

  另外在程式中處理整型資料時可能會用到各種類型的寫法,以下列出幾種常用的:

寫法 含義 備忘
12345 十進位 與書面相同
12345L 十進位,長整型(long) 如果數值大於int型資料的最大值卻沒有加L,會報錯
012345 八進位 不推薦,易混淆
0x12345 十六進位 位元據的另類標記法,便於書寫和記憶
0b10010101 二進位 Java 7新加入的寫法,之前版本不支援
1_000_000 字面量分割 與書面中1,000,000相同,Java 7新加入的寫法,編譯器會自動忽略底線

   以下是在大體上略一遍源碼時的疑問及解答:

 1.Integer.parseInt和Integer.valueOf有什麼區別?

  parseInt返回的是int型資料,而valueOf返回的是Integer封裝類型,後者可以調用Integer中的API進行其他動作。

 2.Integer.getInteger是幹什麼用的?

  在日常開發中接觸較少,用來擷取系統參數的,源碼中調用System.getProperty(String key),然後使用decode進行解析

 3.Integer.decode和Integer.valueOf有什麼區別

  前者可以解析0x,#等表示的其他進位,而後者只能轉換十進位

 還需要注意的地方有,Byte和Short的compareTo是直接計算差值,即a-b,而Integer和Long的compareTo卻是返回-1、0和1;Byte、Short、Integer的hashCode()為返回當前數值的int值,而Long類型的處理方法為return (int)(value ^ (value >>> 32));

再回首,Java溫故知新(三):Java基礎資料型別 (Elementary Data Type)之整型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.