java中的數據類型分爲兩大類:基本數據類型和引用數據類型 基本數據類型,包括數值型,字符型和布爾型。 數值型:1)整型:byte 1個字節;short 2個字節;int 4個字節;long 8個字節。 2)浮點型:float 4個字節;double 8個字節;可以採用十進制和十六進制兩種表示方式,其中十六進制表示方法只能採用科學計數法,例如:0x1.2p3,表示的是的是1乘以16加上2乘以16的-1次方的和乘以2的三次方;浮點型的默認類型爲DOUBLE型,如果聲明float型浮點數,要在數值後面加上f或F,例如:float f1 = 3.14F;否則會報精度錯誤。 字符型:char 採用unicod的16位編碼方式進行編碼。 布爾型:true,false; 引用數據類型:類、接口類型、數組類型、枚舉類型、註解類型; 基本數據類型和引用數據類型的區別主要在存儲方式上: 基本數據類型在被創建時,在棧上給其劃分一塊內存,將數值直接存儲在棧上; 引用數據類型在被牀架時,首先要在棧上給其引用(句柄)分配一塊內存,而對象的具體信息都存儲在堆內存上,然後由棧上面的引用指向堆中對象的地址。 例如:我有一個類MyDate,其中有屬性day,mouth,year等,有構造方法(帶參數); 現在爲其創建一個對象MyDate d1 = new MyDate(8,8,2008); 在內存中的具體創建過程是: 1)首先在棧內存中位其d1分配一塊空間; 2)然後在堆內存中爲MyDate對象分配一塊空間,併爲其三個屬性設初值0,0,0; 3)根據類MyDate中對屬性的定義,爲該對象的三個屬性進行賦值操作; 4)調用構造方法,爲三個屬性賦值爲8,8,2008;(注意這個時候d1與MyDate對象之間還沒有建立聯繫) 5)將MyDate對象在堆內存中的地址,賦值給棧中的d1;通過句柄d1可以找到堆中對象的具體信息。 呵呵,引用數據類型的創建還真是挺複雜的一個過程。。。
Java中基本數據類型與引用數據類型分析
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.