1.多维数组的使用
Java语言里提供了支持多维数组的语法
如果说可以把一维数组当成几何中的线型图形,那么二维数组就相当于是一个表格
对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素二存在。其实,从数组底层的运行机制来看,其实没有多维数组。
/*二维数组的使用
*
* 1.理解:
* 对于二维数组的理解,我们可以看成是一维数组array1
* 又作为另一个一维数组array2的元素二存在
* 。其实,从数组底层的运行机制来看,其实没有多维数组。
*
* 2.二维数组的使用
*2.1 二维数组的声明和初始化
* 2.2如何调用数组的指定位置的元素
* 2.3如何获取数组的长度
* 2.4如何遍历数组
*
*
*
*
*
*
*
*/
public class ArrayTest2 {
public static void main(String[] args) {
//1.二维数组的声明和初始化
int[] arr = new int[] {1,2,3};
//静态初始化
int[][] arr1 = new int[][] {{1,2,3},{4,5},{6,7,8}};
//动态初始化1
String[][] arr2 = new String[3][2];
//动态初始化2
String[][] arr3 = new String[3][];
//错误情况
//String[][] arr4 = new String[][4];
//String[4][3] arr5 = new String[][];
//也是正确的写法
int arr4[][] = new int[][] {{1,2,3},{4,5,9,10},{6,7,8}};
int arr5[][] = {{1,2,3},{4,5},{6,7,8}};
//2.如何调用数组的指定位置的元素
System.out.println(arr1[0][1]);//2
System.out.println(arr2[1][1]);//null
arr3[1] = new String[4];
System.out.println(arr3[1][0]);
//3.获取数组的长度
System.out.println(arr4.length);//3
System.out.println(arr4[0].length);//3
System.out.println(arr4[1].length);//4
//如何遍历二维数组
for(int i = 0;i < arr4.length;i++) {
for (int j = 0; j < arr4[i].length; j++) {
System.out.print(arr4[i][j] + " ");
}
}
}
}
二维数组的使用:
* 规定:二维数组分为外层数组的元素,内层数组的元素
* int[][] arr = new int[4][3];
* 外层元素:arr[0],arr[1]等
* 内层元素:arr[0][0],arr[1][2]等
*
* 2.5 数组元素的默认初始化值
* 针对于初始化方式1:比如:int[][] arr = new int[4][3];
* 外层元素的初始化值为:地址值
* 内层元素的初始化值为:与一维数组初始化情况相同
* 针对与初始化方式二:int[][] arr = new int[4][];
* 外层元素的初始化值为:null
* 层元素的初始化值为:不能调用,否则报错
*
* 2.6数组的内存解析
*
*/
public class ArrayTest3 {
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("****************");
String[][] arr2 = new String[4][2];
System.out.println(arr2[1]);//地址值
System.out.println(arr2[1][1]);//null
System.out.println("****************");
String[][] arr3 = new String[4][];
System.out.println(arr3[1]);//null
// System.out.println(arr3[1][0]);//报错
}
}
快捷键:
ctrl+shift+o 一键导包
shift+回车 在光标下面创建一行
ctrl+shift+回车 在光标上面创建一行