多维数组
二维数组可以理解为一个表格
数组的元素可以是数组
对于二维数组的理解,我们可以看成是一维数组arr1又作为另一个一维数组arr2的元素而存在,其实,从数组底层的运行机制来看,其实没有多维数组。
对于二维数组的理解,我们可以看成是一维数组arr1又作为另一个一维数组arr2的元素而存在,其实,从数组底层的运行机制来看,其实没有多维数组。
public class Array05 {
public static void main(String[] args) {
//一维数组静态初始换
int[] arr = new int[]{1,2,3};
//二维数组静态初始化
int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7,8}};
int[]arr4[] = new int[][]{{1,2,3},{4,5,9,10},{6,7,8}};
int[] arr5[] = {{1,2,3},{4,5},{6,7,8}};
//动态初始化
String[][] arr2 = new String[3][2];
//动态初始化后面的数组为空
String[][] arr3 = new String[3][];
//调用数组
System.out.println(arr2[2][1]);
//
System.out.println(arr1[0][2]);
arr3[1] = new String[4];
System.out.println(arr3[1][0]);
System.out.println(arr4.length);
System.out.println(arr4[0].length);
System.out.println(arr4[1].length);
//遍历数组,循环嵌套的知识
for (int i = 0;i<arr4.length;i++){
for (int j = 0;j<arr4[i].length;j++){
System.out.print(arr4[i][j]+" ");
}
System.out.println();
}
}
}
int[][]arr = new int[4][3];
//外层元素初始化值为:地址值
//内层元素的初始化值,与一维数组初始化情况相同
int[][]arr1 = new int[4][];
System.out.println(arr1[1]);//null就是一维数组
System.out.println(arr1[1][0]);//会报错
一维数组初始换的两种方式
int[] arr = new int[5];
int[] arr1 = {1,2,3};
数组一旦初始化其长度就是确定的 arr.length
数组长度一旦确定就不可修改,参考内存空间存储。
二维数组初始化的两种方式
int[][] arr2 = new int[3][2];
int[][] arr3 = new int[4][];
int[][] arr4 =new int[][] {{1,2}{3,4}{5,6}};
简写也可以为int[][]arr5 = {{1,2}{3,4}{5,6}};
遍历二维数组
for(int i = 0;i<arr.length;i++){
for(int j = 0;j<arr[i].length;j++)
system.out.print(arr[i][j]+"\t");
}system.out.println();
不同类型的一维数组元素的默认初始化值
整型:0
浮点型:0.0
char:0
boolean:false
引用类型:null
真实的TOM是存在字符串常量池中。