1. 程式人生 > >JAVA基本數據類型所占字節數是多少?

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

理論 數字 要求 就是 androi bit code and div

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字節的

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