一.一维数组
1.数组的声明:int[] scores;
2.静态初始化:数组的声明、创建与数组元素的赋值一并完成。
scores = new int[] { 33, 34, 35, 32,44 };
double[] arr = new double[] { 62.5, 88.6, 78.5 };
动态初始化:数组的声明、创建与数组元素的赋值分开进行。
String[] strs = new String[4];// 表明数组中只有4个元素
//错误的声明方式:
int[10] myInt;
int[] arr = new int[];
int[] arr = new int[4]{1,2,3,4};
注:①数组元素的类型,直接可以通过声明可以看出来
②不管是静态初始化,还是动态初始化,都指明了数组的长度
3.数组元素的调用:通过下角标的方式进行调用。
strs[0] = "111";
4.数组的长度,即数组中元素的个数。可以使用属性“length”表示
System.out.println(strs.length);// 4
5.遍历数组中的元素
for (int i = 0; i < strs.length; i++) {
System.out.println(strs[i]);
}
6.不同类型元素的数组的默认初始化值
//1)整型:byte short int long ==> 0
//2)浮点型:float,double ==>0.0
//3)布尔型:boolean==>false
//4)字符型:char ==>\u0000 空
//5)引用数据类型:以String为代表==> null
7.数组的内存解析
java内存划分
数组的声明存放在栈空间,数组中的元素存放在堆空间
数组一旦创建,根据其数据类型,都有对应的默认初始化值。
如果再被赋予新的值,比如:arr1[0] = 10.就是将默认的0的值覆盖掉
二.二维数组
将一维数组作为一个新的数组的元素,那么就构成了一个二维数组
//1.二维数组的声明与初始化
int[][] scores;
//静态初始化
scores = new int[][]{{1,2,4},{4,5},{7,9,0}};
//动态初始化
String[][] arr1 = new String[4][3];
boolean[] arr2[] = new boolean[3][];
//错误的初始化
//int[][] arr3 = new int[2][4]{{1,2,3,4},{3,4,5,6}};
//int[][] arr4 = new int[][3];
//2.数组元素的调用:通过下角标的方式调用
arr2[0] = new boolean[3];
//arr2[1] = new boolean[4];
arr2[2] = new boolean[5];
//3.调用具体的元素
System.out.println(scores[1][0]);//4
arr1[2][1] = "MM";
//....
//4.数组的长度
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.遍历数组元素
for(int i = 0;i < scores.length;i++){//控制行数
for(int j = 0;j < scores[i].length;j++){//控制列数
System.out.print(scores[i][j] + " ");
}
System.out.println();
}
6.二维数组的内存解析
三.数组常见的异常
1.ArrayIndexOutOfBoundsException:超出角标的范围,都属于越界
2.NullPointerException: 空指针异常