標籤:初始 對象 個數 ima 不能 基本類型 必須 print stat
重點:使用Java數組之前,必須對數組對象進行初始化。
當數組的所有元素都被分配了合適的記憶體空間,並指定了初始值時,數組的初始化完成。程式以後將不能重新改變數組對象在記憶體中的位置和大小。
知識點整理:
1.數組的初始化有以下兩種方式:
1)靜態初始化:初始化時由程式員顯示指定每個數組元素的初始值,由系統決定數組的長度。
2)動態初始化:初始化時程式員只指定數組的長度,由系統為數組元素分配初始值。
不管使用哪種方式初始化Java數組,一旦初始化完成,該數組的長度就不可改變。
程式碼範例:
public class Demo { public static void main(String[] args) { // 採用靜態初始化方式 String[] books = new String[] { "一千零一夜", "唐詩三百首", "警示寓言", "一個人的聖朝", }; // 採用靜態初始化的簡化形式 String[] names = { "小紅", "小明", "小綠", }; // 採用動態初始化的的方式 String[] strArr = new String[5]; // 訪問數組以上長度 System.out.println("第一個數組的長度是" + books.length); System.out.println("第二個數組的長度是" + names.length); System.out.println("第三個數組的長度是" + strArr.length); }}
Java語言的陣列變數是參考型別的變數,books,names,strArr這3個變數以及各自引用的數組在記憶體中的分配
總結:對於靜態初始化方式而言,程式員無需指定數組長度,指定該數組的數組元素,由系統來決定該數組的長度即可。即names是3,books是4。
而執行動態初始化時,程式員只需指定數組的長度,即為每個數組元素指定所需的記憶體空間,系統將負責為這些數組元素分配初始值。指定初始值時,系統將按如下規則分配初始值:
1)數組元素的類型是基本類型中的整數類型(byte,short,int和long),則數組元素的值是0;
2)數組元素的類型是基本類型中的字元類型(char),則數組元素的值是‘\u0000‘;
3)數組元素的類型是基本類型中的浮點類型(float,double),則數組元素的值是0.0;
4)數組元素的類型是基本類型中的布爾類型(boolean),則數組元素的值是false;
5)數組元素的類型是參考型別(類,介面和數組),則數組元素的值為null;
Java細節整理——數組與記憶體控制