一. java基本數(shù)據(jù)類型
1. 簡介
所謂的基本數(shù)據(jù)類型,是指CPU可以直接進(jìn)行運(yùn)算的類型,包括以下幾種:
● 整數(shù)型:byte、short、int、long;
● 浮點(diǎn)型:float、double;
● 字符型:char;
● 布爾型:boolean
二.引用數(shù)據(jù)類型
1. 簡介
在Java中,除了基本類型之外,其余的類型都屬于引用數(shù)據(jù)類型。引用類型定義的變量非常類似于C/C++的指針,它內(nèi)部存儲一個“地址”,可以指向一個對象在內(nèi)存中的位置。指向?qū)ο蟮淖兞烤褪且米兞?,這些變量在聲明時被指定為一個特定的類型,比如People、System等。變量一旦聲明后,其類型就不能被改變。
● Java類、接口、數(shù)組等都是引用數(shù)據(jù)類型;
● 所有引用類型的默認(rèn)值都是null;
● 一個引用變量可以用來引用任何與之兼容的類型;
● String字符串是引用類型。
三.基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的區(qū)別
1. 基本數(shù)據(jù)類型是存儲數(shù)據(jù)的簡單類型,而引用數(shù)據(jù)類型是存儲對象的引用或地址。
2. 基本數(shù)據(jù)類型在內(nèi)存中分配固定的空間,而引用數(shù)據(jù)類型在內(nèi)存中分配一個地址,實際數(shù)據(jù)存儲在另外的位置。
3. 基本數(shù)據(jù)類型是直接存儲在棧(stack)中的,而引用數(shù)據(jù)類型在棧中存儲的是一個地址,這個地址指向堆(heap)中的實際數(shù)據(jù)。
4. 基本數(shù)據(jù)類型有8種:byte、short、int、long、float、double、char、boolean,而引用數(shù)據(jù)類型有類(class)、接口(interface)、數(shù)組(array)、枚舉(enum)等。
5. 基本數(shù)據(jù)類型是直接存儲值,而引用數(shù)據(jù)類型是存儲指向?qū)ο蟮囊谩?/p>
6. 基本數(shù)據(jù)類型的默認(rèn)值是0或false,而引用數(shù)據(jù)類型的默認(rèn)值是null。
7. 基本數(shù)據(jù)類型的傳遞是按值傳遞,而引用數(shù)據(jù)類型的傳遞是按引用傳遞。換句話說,基本數(shù)據(jù)類型的值在傳遞時是復(fù)制的,而引用數(shù)據(jù)類型的值在傳遞時是引用的副本。