一.一維數(shù)組
1.數(shù)組的聲明:int[] scores;
2.靜態(tài)初始化:數(shù)組的聲明蚪黑、創(chuàng)建與數(shù)組元素的賦值一并完成盅惜。
? ??????scores = new int[] { 33, 34, 35, 32,44 };
? ??????double[] arr = new double[] { 62.5, 88.6, 78.5 };
????動(dòng)態(tài)初始化:數(shù)組的聲明、創(chuàng)建與數(shù)組元素的賦值分開進(jìn)行忌穿。
? ??String[] strs = new String[4];// 表明數(shù)組中只有4個(gè)元素
? ??????//錯(cuò)誤的聲明方式:
? ??????int[10] myInt;
? ????? int[] arr = new int[];
? ????? int[] arr = new int[4]{1,2,3,4};
? ??????????注:①數(shù)組元素的類型抒寂,直接可以通過聲明可以看出來
? ? ? ? ? ? ? ? ? ?②不管是靜態(tài)初始化,還是動(dòng)態(tài)初始化掠剑,都指明了數(shù)組的長(zhǎng)度
3.數(shù)組元素的調(diào)用:通過下角標(biāo)的方式進(jìn)行調(diào)用屈芜。
? ??????strs[0] = "111";
4.數(shù)組的長(zhǎng)度,即數(shù)組中元素的個(gè)數(shù)朴译【樱可以使用屬性“l(fā)ength”表示
????????System.out.println(strs.length);// 4
5.遍歷數(shù)組中的元素
? ??????for (int i = 0; i < strs.length; i++) {
????????????System.out.println(strs[i]);
????????}
6.不同類型元素的數(shù)組的默認(rèn)初始化值
? ??//1)整型:byte short int long ==> 0
????//2)浮點(diǎn)型:float,double ==>0.0
????//3)布爾型:boolean==>false
????//4)字符型:char ==>\u0000 空
????//5)引用數(shù)據(jù)類型:以String為代表==> null
7.數(shù)組的內(nèi)存解析
????java內(nèi)存劃分
? ??數(shù)組的聲明存放在棧空間眠寿,數(shù)組中的元素存放在堆空間
? ??數(shù)組一旦創(chuàng)建躬翁,根據(jù)其數(shù)據(jù)類型,都有對(duì)應(yīng)的默認(rèn)初始化值盯拱。
????如果再被賦予新的值盒发,比如:arr1[0] = 10.就是將默認(rèn)的0的值覆蓋掉
二.二維數(shù)組
? ??????將一維數(shù)組作為一個(gè)新的數(shù)組的元素,那么就構(gòu)成了一個(gè)二維數(shù)組
? ??//1.二維數(shù)組的聲明與初始化
????????int[][] scores;
????????//靜態(tài)初始化
????????scores = new int[][]{{1,2,4},{4,5},{7,9,0}};
????????//動(dòng)態(tài)初始化
????????String[][] arr1 = new String[4][3];
????????boolean[] arr2[] = new boolean[3][];
????????//錯(cuò)誤的初始化
????????//int[][] arr3 = new int[2][4]{{1,2,3,4},{3,4,5,6}};
????????//int[][] arr4 = new int[][3];
? ??//2.數(shù)組元素的調(diào)用:通過下角標(biāo)的方式調(diào)用
????????arr2[0] = new boolean[3];
????????//arr2[1] = new boolean[4];
????????arr2[2] = new boolean[5];
? ??//3.調(diào)用具體的元素
????????System.out.println(scores[1][0]);//4
????????arr1[2][1] = "MM";
????????//....
//4.數(shù)組的長(zhǎng)度
????????System.out.println(scores.length);//3
????????System.out.println(arr1.length);//4
????????System.out.println(scores[1].length);//2
????????System.out.println(arr2[2].length);//5
//5.遍歷數(shù)組元素
????????for(int i = 0;i < scores.length;i++){//控制行數(shù)
????????????for(int j = 0;j < scores[i].length;j++){//控制列數(shù)
????????????????????System.out.print(scores[i][j] + " ");
????????????}
????????????System.out.println();
? ? ? ?}
6.二維數(shù)組的內(nèi)存解析
三.數(shù)組常見的異常
1.ArrayIndexOutOfBoundsException:超出角標(biāo)的范圍狡逢,都屬于越界
2.NullPointerException: 空指針異常