java值類型
⑴ java中值類型和引用類型的區別
1:Java 提供兩種不同的類型:引用類型和原始類型(或內置類型)。Int是java的原始數據類型,Integer是java為int提供的封裝類。Java為每個原始類型提供了封裝類。 原始類型封裝類 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble 引用類型和原始類型的行為完全不同,並且它們具有不同的語義。引用類型和原始類型具有不同的特徵和用法,它們包括:大小和速度問題,這種類型以哪種類型的數據結構存儲,當引用類型和原始類型用作某個類的實例數據時所指定的預設值。對象引用實例變數的預設值為 null,而原始類型實例變數的預設值與它們的類型有關。
2:使用場合,例如說
往ArrayList裡面add,必須add的是Object
而int不是對象,就只能把Integer添加進去
3:int是基本類型,
Integer是int對應的封裝類,
聲明int a; a自動賦值0;
聲明Integer a; a自動賦值為null
4:int是基本的數據類型
integer是類
int的初始值為0,不能為null,如果需要為null的時候,需要用integer
⑵ JAVA中值類型和引用類型的區別
(1)值類型:數據存儲在內存的堆棧中,從堆棧中可以快速地訪問這些數據,因此,值類型表示實際的數據。
(2)引用類型:對象、數組、函數。
1、值類型:包括:sbyte、short、int、long、float、double、decimal(以上值類型有符號)byte、ushort、uint、ulong(以上值類型無符號)bool、char
2、引用類型:包括:對象類型、動態類型、字元串類型。二、具體區別:
1、值類型:byteb1=1;byteb2=b1;Console.WriteLine("{0},{1}。",b1,b2);b2=
2;Console.WriteLine("{0},{1}。",b1,b2);Console.ReadKey();解釋:byteb1=1;聲明b1時,在棧內開辟一個內存空間保存b1的值1。byteb2=b1;聲明b2時,在棧內開辟一個內存空間保存b1賦給b2的值1。Console.WriteLine("{0},{1}。",b1,b2);輸出結果為1,1。b2=2;將b2在棧中保存的值1改為
2。Console.WriteLine("{0},{1}。",b1,b2);輸出結果為1,2。
2、引用類型:復制代碼。