做昆特牌的网站/网站搜索优化官网
多维数组基本用得到的也就二维数组(大概)
二维数组的理解:可以理解成一维数组arr作为数组arr1的数组元素,那这个arr1就是二维数组
①二维数组的声明和初始化
②如何调用数组的指定位置的元素
③如何获取数组的长度
④如何遍历数组
⑤数组元素的默认初始化值
package Array;
/** 二维数组test* * ①二维数组的声明和初始化* ②如何调用数组的指定位置的元素* ③如何获取数组的长度* ④如何遍历数组* ⑤数组元素的默认初始化值* ⑥数组的内存解析*/
public class TwoArrayTest {public static void main(String[] args) {//1.二维数组的声明和初始化//静态初始化int[][] arr1= new int[][] {{1},{2,3},{4,5,6}};//动态初始化String[][] arr2 = new String[3][2];//行列都写String[][] arr3 = new String[3][];//只写行//2.如何调用数组的指定位置的元素System.out.println(arr1[0][0]);//下标0,0 结果为1System.out.println(arr2[1][1]);//下标1,1 结果为null//System.out.println(arr3[1][1]);//报错//如何不报错arr3[1]=new String[4];System.out.println(arr3[1][1]);//不报错,结果为null//3.如何获取数组的长度System.out.println(arr1.length);//从内存结构看,不存在多维数组,只是一维数组的每个元素都在堆中指向了新的一维数组//所以arr1.length=3System.out.println(arr1[1].length);//arr1中第二个(下标1)指向的一维数组,长度为2System.out.println(arr1[2].length);//arr1中第三个(下标2)指向的一维数组,长度为3//4.如何遍历二维数组for(int i=0;i<arr1.length;i++) {for(int j=0;j<arr1[i].length;j++) {System.out.println(arr1[i][j]);}}//5.数组元素的默认初始化值int[][] arr = new int[3][4];//外层元素//元素默认值是数组(引用数据类型)System.out.println(arr[0]);//arr[0]地址值[I@15db9742//内层元素System.out.println(arr[0][0]);//arr[0][0]具体值0//6.数组的内存解析//二维数组其实就是一维数组的关联使用,是逻辑上的,在物理空间里依旧是多个一维数组//所以其内存解析基本一致}
}
6.二维数组内存解析