一、基本資料型別
byte
:Java中最小的資料類型,在記憶體中佔8位(bit),即1個字節,取值範圍-128~127,預設值0
#short
:短整數型,在記憶體中佔16位,即2個字節,取值範圍-32768~32717,預設值0
int
:整數型,用於儲存整數,在記憶體中佔32位,即4個位元組,取值範圍-2147483648~2147483647,預設值0
long
:長整型,在記憶體中佔64位,即8個位元組-2^63~2^63-1,預設值0L
float
:浮點型,在記憶體中佔32位,即4個字節,用於儲存帶小數點的數字(與double的差別在於float型別有效小數點只有6~7位),預設值0
double
:雙精度浮點型,用於儲存帶有小數點的數字,在記憶體中佔64位,即8個字節,預設值0
char
:字符型,用於儲存單一字符,佔16位,即2個字節,取值範圍0~65535,預設值為空
boolean
:布林類型,佔1個位元組,用於判斷真或假(只有兩個值,即true、false),預設值false
推薦相關學習影片:java線上影片
二、引用資料型別
類別、介面型別、陣列型別、列舉型別、註解類型。
區別:
基本資料類型在被建立時,在堆疊上給其劃分一塊內存,將數值直接儲存在堆疊上。
引用資料型別在被建立時,首先要在堆疊上給其引用(句柄)分配一塊內存,而物件的具體資訊都儲存在堆疊記憶體上,然後由堆疊上面的參考指向堆中對象的地址。
例如,有一個類別Person,有屬性name、age帶有參的建構方法
Person p = new Person("zhangsan",20);
在記憶體中的具體建立過程是:
1.首先在堆疊記憶體中為其p分配一塊空間;
2.在堆疊記憶體中為Person物件分配一塊空間,並為其三個屬性設初值"",0;
3.根據類別Person中對屬性的定義,為此物件的兩個屬性進行賦值運算;
4.呼叫建構方法,為兩個屬性賦值為"Tom",20 ;(注意這個時候p與Person物件之間還沒有建立聯繫);
5.將Person物件在堆疊記憶體中的位址,賦值給堆疊中的p,透過引用(句柄)p可以找到堆中物件的具體資訊。
相關知識:
靜態區: 保存自動全域變數和 static 變數(包括 static 全域和局部變數)。靜態區的內容在整個程式的生命週期內都存在,由編譯器在編譯的時候分配。
堆區: 一般由程式設計師分配釋放,由 malloc 系列函數或 new 運算子分配的內存,其生命週期由 free 或 delete 決定。在沒有釋放之前一直存在,直到程式結束,由OS釋放。其特點是使用靈活,空間比較大,但容易出錯。
堆疊區: 由編譯器自動分配釋放,保存局部變量,堆疊上的內容只在函數的範圍內存在,當函數運行結束,這些內容也會自動被銷毀,其特點是效率高,但空間大小有限。
文字常數區: 常數字串就是放在這裡的。 程序結束後由系統釋放。
更多相關文章教學請造訪:java程式設計入門
#以上是關於java中基本資料型別與引用資料型別的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!