1. 程式人生 > >Java基礎之基本資料型別到底是幾種?

Java基礎之基本資料型別到底是幾種?

如果連基本資料型別都不知道,恐怕是還沒入門。當然,有些人不去記,肯定不知道。就知道常用的有 int。其他,沒了。

此文只是說明 基本資料型別有幾種?具體 區別 另行檢視其它文章。

基本資料型別到底有幾種?

7種?

在我的腦海中,好多人還以為常用的基本型別有7種,當然,如果這麼說出去,別人會笑話死。

好多人還都會問String是不是基本資料型別。恩,加上String 應該是8種吧。

好了,好了,可以不用學Java了。

他們以為的7種沒有算上 boolean,是大錯特錯的說法。就算是剛學Java,也一定要記住是 四類八種

如果別人 讓你寫出 9種 基本資料型別,千萬別把 String 寫上,因為他不是 資料型別,他是個 類。一個 final修飾,不可以繼承的類,是個物件,是引用資料型別。

8種?

對,說8種的也沒錯,因為 Java API 上的確是說的就是8種,分別為 四大類,共八種

整型

byte 、short 、int 、long

浮點型

float 、 double

字元型

char

布林型

boolean

9種?

如果算上 void,那就是 9種。

void是不是基本資料型別,那就看你心情了。

有人說Java提供了九種基本的資料型別,它們分別是:

void  boolean  short  int  long float double  byte char  

對應的Java類(基本資料型別的封裝物件)

Void Boolean Short Integer  Long Float  Double Byte Character

基本型別和引用型別區別

一種是基本型別,一種是引用型別。兩種的本質區別就是:基本型別是在堆疊處分配空間存“值”。但是引用型別,是在堆裡面分配空間存“值”。Void是不能new出來,也就是不能在堆裡面分配空間存對應的值。那就是一開始在堆疊處分配好空間了。所以,有些人將Void歸成基本型別,也有道理。

記住以下幾點:

  1. 基本資料型別只能按值傳遞,而封裝類按引用傳遞;
  2. 基本資料型別只表示簡單的字元或數字,引用型別可以是任何複雜的資料結構;
  3. 基本資料型別僅表示簡單的資料型別,引用型別可以表示複雜的資料型別,還可以操作這種資料型別的行為;
  4. 基本資料型別在宣告時系統會自動給它分配空間,而引用型別宣告時只是分配了引用空間,必須通過例項化開闢資料空間之後才可以賦值;
  5. 在堆中建立的引用記憶體,不能隨著呼叫結束就釋放,需要等著GC來回收,而在棧記憶體中,隨著引用呼叫完,就銷燬了,所以棧記憶體中,引用了基本資料型別,效率高,但是可能會存在記憶體洩漏的問題;

總結

到底是8種還是9種,其實都說法不一。但是 你能說出9種來,說明你 瞭解的多。