Java的基本資料型別和引用資料型別的區別

2021-06-22 22:40:26 字數 1024 閱讀 2283

基本資料型別

大小範圍

預設值int(整形)

32-2147483648~2147483648

0long(長整形)

64-9233372036854477808~9233372036854477808

0float(浮點形)

32-3.40292347e+38~3.40292347e+38

0.0f

double(雙精度)

64-1.79769313486231570e+308~1.79769313486231570e+308

0.0d

short(短整型)

16-32768~32768

0boolean(布林型)

1true/false

false

char(字元型)

16『 \u0000 - u\ffff 』

『\u0000 』

byte(位元組型)

8-128~1270

引用資料型別:

類、介面型別、陣列型別、列舉型別、註解型別;

基本資料型別和引用資料型別的區別:

基本資料型別在被建立時,在棧上給其劃分一塊記憶體,將數值直接儲存在棧上;

引用資料型別在被建立時,首先要在棧上給其引用(控制代碼)分配一塊記憶體,而物件的具體資訊都儲存在堆記憶體上,然後由棧上面的引用指向堆中物件的位址。

例如,有乙個類person,有屬性name,age,帶有參的構造方法,

person p = new person("tom",20);

在記憶體中的具體建立過程是:

1.首先在棧記憶體中位其p分配一塊空間;

2.在堆記憶體中為person物件分配一塊空間,並為其三個屬性設初值"",0;

3.根據類person中對屬性的定義,為該物件的兩個屬性進行賦值操作;

4.呼叫構造方法,為兩個屬性賦值為"tom",20;(注意這個時候p與person物件之間還沒有建立聯絡);

5.將person物件在堆記憶體中的位址,賦值給棧中的p;通過控制代碼p可以找到堆中物件的具體資訊。

java基本資料型別和引用資料型別的呼叫傳遞的區別

1 基本資料型別 就是進行了值的傳遞把乙份資料拷貝了之後傳遞過去 2 引用資料型別 實際上也是進行了資料拷貝然後傳過去,實際上也是值傳遞,只 不過傳遞過去的值和原有的值指向了同乙個物件 所以在呼叫的方法中可以對原來的資料進行影響,這是因為二者指向的是同乙個物件。但這不是按引用呼叫!如下 可證明這一點...

基本資料型別和引用資料型別

資料型別 基本資料類 1.數值型 整數 byte short int long 浮點 float double 2.字元型 char 3.布林型 boolean 引用資料型別 1.類 class 2.介面 inte ce 3.陣列 array 基本資料型別 它的值是乙個數字 字元或布林值,變數指向具...

基本資料型別和引用型別

1基本資料與引用資料的基本區別 眾說周知,基本資料型別 為int long,byte,boolean,float,double等第乙個字母為小寫,如果用這些資料型別定義變數,通常情況下,即使沒有賦值,它也會有預設值,例如int 型別為 0 boolean 為 false等,而string 型別 以及...