java初始值
❶ java 類型類怎麼初始化賦值
總結了java數組的初始化的兩種方法如下:
1、最簡單的方法是直接賦值,如:
一維數組:
int[] num = {21,34,2,-9,987,0,-89};//創建一個一維數組,並賦7個初始值
二維數組:
int[][] num2 = {{21,22},{34,35}};//創建一個二維數組,並賦2個初始值
2、先創建一個數組對象出來,再進行循環賦值,如:
一維數組:
int[] num3 = new int[5];//先創建一個5長度的數組對象
for(int i=0;i<num3.length;i++){//之後進行循環遍歷對數組進行賦值
num3[i] = i;
}
二維數組:
int[][] num4 = new int[5][2];//先創建一個二維數組對象
for(int i=0;i<num3.length;i++){//之後進行循環遍歷對數組進行賦值
for(int j=0;j<num4[i].length;j++){
num4[i][j] = j;
}
}
❷ java屬性常量沒有默認值那屬性載入時是怎麼分配空間的,java 不是給屬性開辟空間時會先給默認值嗎
關於分配空間這個你網路一下JVM內存結構;就可以了解詳細機制了;
首先你截圖的變數是成員變數(定義在類中,方法體之外。變數在創建對象時實例化。成員變數可被類中的方法、構造方法以及特定類的語句塊訪問)。而且是實例變數不是靜態變數,實例變數不分基本類型和引用類型都是在在對象創建的時候分配內存空間,存儲在堆中;
類變數的初始化分為兩個階段。第一次是在類載入的准備階段。准備階段會正式為類變數分配內存並設置類變數的初始值。如果類變數是基本數據類型,初始值為其對應初值,如果為對象類型,初始值為null。如果類變數同時被final關鍵字修飾,那麼准備階段就會直接將變數賦值。
成員變數屬於對象獨有,每個對象創建時只會調用一次構造函數。成員變數可在定義時初始化,也可以在所有構造函數中初始化。你的a雖然定義時沒初始化,但你在所有構造方法中初始化了。
當類中有靜態成員變數,普通成員變數,靜態初始化塊,非靜態初始化塊,局部變數和構造函數初始化動作時:①首先執行靜態成員變數的初始化,②其次是普通成員變數的初始化,③然後當靜態初始化塊中的變數被類名訪問或創建該類對象時時執行靜態初始化塊,創建該類對象也會執行非靜態初始化塊,④最後執行構造函數當中的初始化動作,⑤最後當類中的函數被調用時執行局部變數的初始化動作。
❸ 數組動態初始化時,數組元素會被賦予一個默認值,簡述各數據類型的初始值
對於java而言:
一、
各種數值類型的默認值都是0或0.0。
具體包括byte、short、int、long的默認值都是0,而float和double類型的默認值都是0.0。
二、
char類型的默認值是''(即空字元)。
三、
boolean類型的默認值是false。
四、
所有引用類型的默認值都是null。