//1.1數組的聲明
String[] names;
int scores[];
//1.2初始化
//第一種:靜態初始化:初始化數組與給數組元素賦值同時進行。
names = new String[]{"周爽","郭強強","俞乾龍"};
//第二種:動態初始化:初始化數組與給數組元素賦值分開進行。
scores = new int[4];
第三種:直接初始化,int[] arr={1,2,23};這樣也可以。
但是
int arr1[];
arr1={1,2,2,3};//錯誤的
int arr1[];
arr1=new int[]{1,2,2,3};//這樣也可以。
//下角標從0開始,到n -1 結束。其中n表示的數組的長度。
scores[0] = 87;
scores[1] = 89;
scores[3] = 98;
//3.數組的長度:通過數組的length屬性。
System.out.println(names.length);//3
System.out.println(scores.length);//4
//4.如何遍歷數組元素
for(int i = 0;i < names.length;i++){
System.out.println(names[i]);
}
//對於基於基本數據類型的變量創建的數組:byte short int long float double char boolean
//1.對於byte short int long 而言:創建數組以後,默認值爲0
//2.對於float double而言:默認值是0.0
//3.對於char而言:默認爲空格
//4.對於boolean而言:默認爲false
//5.對於引用類型的變量構成的數組而言:默認初始化值爲null。以String爲例
內存的結構(方法區中包含常量池):
數組在內存中的結構
多維數組:
二位數組的初始化:
String[][] names;
//1.二維數組的初始化
scores2 = new int[][]{{1,2,3},{3,4,5},{6}};//靜態初始化
names = new String[6][5];//動態初始化的方式一
names = new String[6][];//動態初始化的方式二
names[0] = new String[5];
names[1] = new String[4];
names[2] = new String[7];
//錯誤的初始化方式
//names = new String[][];
//names = new String[][5];
//4.如何遍歷二維數組
for(int m = 0;m < scores2.length;m++){//控制行數
for(int n = 0;n < scores2[m].length;n++){
System.out.print(scores2[m][n] + " ");
}
System.out.println();
}
多維數組的內存圖解:
二位數組一個常見的異常:
int[][] j = new int[3][];
j[2][0] = 12;
空指針異常,第一句執行完,二維數組的每一個元素都是null,所以執行第二行會報空指針。