1、二维数组的理解
对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素存在。
其实,从数组底层的运行机制来看,其实没有多维数组。 *
2、
1)二维数组的声明和初始化
2)如何调用数组的指定位置的元素
3)如何获取数组的长度
4)如何遍历数组
5)数组元素的默认初始化值
6)数组的内存解析
public class ArrayTest02 {
public static void main(String[] args) {
//二维数组的声明和初始化
int[] arr1=new int[]{1,3,4};//一维数组
//静态初始化
int [] []arr2=new int[][]{{1,2,3},{4,6},{6,7,8}};
//动态初始化
String [][]arr3=new String[2][3];
//动态初始化
String [][]arr4=new String[2][];
//错误的情况
// String [][]arr5=new String[][3];
//正确的情况
int []arr5[]=new int [][]{{1,2,3},{4,6},{6,7,8}};
int []arr6[]={{1,2,3},{4,6},{6,7,8}};
//如何调用数组的指定位置的元素
System.out.println(arr2[0][1]);//2
System.out.println(arr2[1][1]);//6
//获取数组的长度
System.out.println(arr2.length);//3
System.out.println(arr2[2].length);//3
System.out.println("======");
//如何遍历二维数组
for(int i=0;i<arr2.length;i++){
for(int j=0;j<arr2[i].length;j++){
System.out.print(arr2[i][j]+" ");
}
System.out.println();
}
}
}
1、二维数组的使用
- 规定:二维数组分为外层数组元素,内存数组元素
-
int [] []arr=new int[2][2];
-
外层元素:arr[0],arr[1]等
-
内层元素:arr[0][0],arr[1][2]等
- 数组元素的默认初始化值
- 针对于初始化方式一:比如int[][]arr=new int[2][3];
-
内层元素的初始化值为:地址值
-
外层元素的初始化值为:与一维数组初始化情况相同
- 针对于初始化方式二:比如int [][]=new int [2][];
-
内层元素的初始化值为:不能调用,否则报错
-
外层元素的初始化值为:null
public class ArrayTest03 {
public static void main(String[] args) {
//数组元素的默认初始化值’
int arr[][]=new int[4][3];
System.out.println(arr[0]);//地址值[I@15db9742
System.out.println(arr[0][0]);//0
System.out.println(arr);//地址值[[I@6d06d69c
System.out.println("---------------");
float arr1[][]=new float[4][3];
System.out.println(arr1[0]);//地址值
System.out.println(arr1[0][0]);//0.0
System.out.println(arr1);
System.out.println("---------------");
String [][]arr2=new String [2][4];
System.out.println(arr2[1]);//地址值
System.out.println(arr2[1][1]);//null
System.out.println("分割线");
String[][]arr3=new String[3][];
System.out.println(arr3[1]);//null
System.out.println("分割线");
double[][]arr4=new double[3][];
System.out.println(arr4[1]);//null
System.out.println(arr4[1][2]);//NullPointerException
}
}