前言
在Java中对于多维数组的概念不是特别严格,或者说 ,在Java中不存在多维数组的概念,和C语言区分,一般称之为数组中的数组。
初始化操作
下面以二维数组为例:
静态初始化:
int[][] arr = new int[][]{{1,2,3},{4,5},{6}};
动态初始化:
// 创建一个长度为3的二维数组,每一个元素(一维数组)的长度为5
int[][] arr = new int[3][5]
以下定义方式是错误的,动态初始化没有指定二维数组的长度
int[][] arr = new int[][5];//错误
int[][] arr = new int[][];//错误
内存分析
二维数组的打印
class ArrayInAarrayDemo
{
public static void main(String[] args)
{
int[][] array = new int[][]{{1,2,3,4},{4,5,6},{7,8,9}};
printArrayInArray(array);
}
public static void printArrayInArray(int[][] array){
String res = "[";
for(int i = 0; i < array.length;i++)
{
res = res + "[";
for (int j = 0; j < array[i].length; j++ )
{
res = res + array[i][j];
if (j != array[i].length-1 )
{
res = res+",";
}
}
if (i != array.length-1 )
{
res = res+"],";
}
}
res = res + "]]";
System.out.println(res);
}
}
---------- 运行java ----------
[[1,2,3,4],[4,5,6],[7,8,9]]
输出完成 (耗时 0 秒) - 正常终止