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位元組的