4     資料的實值型別及參考型別

類別有兩大成員,欄位(field)及方法(method)。本章開始介紹欄位及其型別,欄位也稱為資料或變數,在本資料中會依場合使用適當名稱。當類別建立物件後之欄位,或宣告為靜態(Static)之欄位,即分配占有有記憶體,可存放數值、字元、字串、物件參考等,並可於程式執行過程中變更其值,至於欄位可存放何種類型資料,在宣告時必須指定資料型別。

 

[4-1 Java資料型別(Java Data Types)]

Java資料型別可分為實值型別(Value Type)參考型別(Reference Type)

 

[4-1-1實值型別(Value Type) ]

實值型別變數會儲存資料的值,如數值的13.5110149….等。指派一個實值型別變數給其他實值型別變數,會複製所包含的值。Java語言的基本資料型別(Primitive Types)byteshortintlongfloatdoublebooleanchar為實值型別。

實值型別宣告格式:

[final] [public|protected|private] [static] 實值資料型別欄位名稱[,欄位名稱,…];

 

<實值型別例> 4-1

int a, b;      //宣告整數欄位ab,沒指定時,整數型別初期值為0

int x;         //宣告整數欄位x

int m = 20;     //宣告整數欄位並指定初期值20

a = 10;       //指定運算

b = a;         //指定運算

 圖4-1-1

 

 

※宣告時占有記憶體位址,沒指定時,整數型別初期值為0

※指定運算後,a的值成為10b的值被指定為a的值,也就是10

※格式未說明部分將於後述章節闡明

 

[4-1-2參考型別(Reference Type)]

參考型別變數是儲存資料的參考(資料所在位址)。參考型別變數的指派會複製物件的參考,但不會複製物件的值。除了Java基本資料型別之外其他型別均為參考型別(Reference Types),如類別(Class)、介面(Interface)、字串(String)、矩陣(Array)等。

參考型別格式變化較多,將個別說明之。

[參考型別例] (4-2)      

String s1=new String("Primitive Type"); /*宣告字串s1,初值"Primitive

Type" */

String s2=new String(“Reference Type”); /*宣告字串s2,初值" Reference

Type" */

s1=s2;                           /* 指定運算 */

 圖4-2-1

 

 

s1s2存放資料所在之位址0xabcd0xcdef

資料則在位址0xabcd0xcdef,分別為Primitive TypeReference Type

s1=s2運算後,s1之值為位址0xcdef,而位址0xcdef之內容為Reference Type,故運算後s1s2指向同一位址。

arrow
arrow

    祈泊 發表在 痞客邦 留言(0) 人氣()