Java各種類型占用的字節數


轉自:http://www.blogjava.net/stevenjohn/archive/2013/10/18/405416.html
數據類型                   大小(二進制位數)                 范圍                                                                                 默認值 

byte(字節) 8 -128 - 127 0
shot(短整型) 16 -32768 - 32768 0
int(整型) 32 -2147483648-2147483648 0
long(長整型) 64 -9233372036854477808-9233372036854477808 0
float(浮點型) 32 -3.40292347E+38-3.40292347E+38 0.0f
double(雙精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ \u0000 - u\ffff ’ ‘\u0000 ’
boolean(布爾型)      1                   true/false                                                                                                 false


JAVA基本數據類型所占字節數是多少?

byte     1字節               
short    2字節               
int      4字節               
long     8字節               
char     2字節(C語言中是1字節)可以存儲一個漢字
float    4字節               
double   8字節               
boolean  false/true(理論上占用1bit,1/8字節,實際處理按1byte處理)       
JAVA是采用Unicode編碼。每一個字節占8位。你電腦系統應該是 32位系統,這樣每個int就是 4個字節
其中一個字節由8個二進制位組成

Java一共有8種基本數據類型(原始數據類型):     
類型 存儲要求 范圍(包含) 默認值 包裝類
整 int 4字節(32位) -231~ 231-1 0 Integer
數 short 2字節(16位) -215~215-1 0 Short
類 long 8字節(64位) -263~263-1 0 Long
型 byte 1字節(8位) -27~27-1 0 Byte
浮點 float 4字節(32位) -3.4e+38 ~ 3.4e+38 0.0f Float
類型 double 8字節(64位) -1.7e+308 ~ 1.7e+308 0 Double
字符 char 2字節(16位) u0000~uFFFF(‘’~‘?’) ‘0’ Character
(0~216-1(65535))
布爾 boolean 1/8字節(1位) true, false FALSE Boolean



在移動開發中由於移動設備內存的局限性,往往需要考慮使用的數據類型所占用的字節數。下面簡單介紹下Java中幾種基本數據類型,以加深記憶。
在Java中一共有8種基本數據類型,其中有4種整型,2種浮點類型,1種用於表示Unicode編碼的字符單元的字符類型和1種用於表示真值的boolean類型。(一個字節等於8個bit)

1.整型
類型              存儲需求     bit數    取值范圍      備注
int                 4字節           4*8 
short             2字節           2*8    -32768~32767
long              8字節           8*8
byte              1字節           1*8     -128~127

2.浮點型
類型              存儲需求     bit數    取值范圍      備注
float              4字節           4*8                  float類型的數值有一個后綴F(例如:3.14F)
double          8字節           8*8                       沒有后綴F的浮點數值(如3.14)默認為double類型

3.char類型
類型              存儲需求     bit數     取值范圍      備注
char              2字節          2*8

4.boolean類型
類型              存儲需求    bit數    取值范圍      備注
boolean        1字節          1*8      false、true

 

補充:Java有一個能夠表示任意精度的算書包,通常稱為“大數值”(big number)。雖然被稱為大數值,但它並不是一種Java類型,而是一個Java對象。

如果基本的整數和浮點數精度不能夠滿足需求,那么可以使用java.math包中的兩個很有用的類:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及這兩個類)這兩個類可以處理包含任意長度數字序列的數值。BigInteger類實現了任意精度的整數運算,BigDecimal實現了任意精度的浮點數運算。具體的用法可以參見Java API。

http://blog.csdn.net/witsmakemen/article/details/8974200
 
         
int常見為4個字節,跟操作系統有關系。
turbo c(以及Turbo c的一些衍生編譯器,他們用的一套編譯程序)是dos時代的編譯器,是上世紀80年代的產物,嚴重過時,屬於老掉牙的產品,他們編譯出來的程序是16位操作系統dos下的程序,所以長度為16位,即兩個字節。windows為了兼容dos,所以turbo c生成的文件也可以在windows中運行。
其他一般就都是4個字節了。
操作系統16位的時候,int 2字節,操作系統32位的時候,int 4字節,由於32位系統之前占主流地位,實際現在就算是64位系統,出於兼容性考慮,int也是4字節的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM