二维数组三种声明方式:
1. int[][] a = {{1,2}, {3,4}};
2. int[][] a = new int[2][3];
3. int[][] a = new int[2][];
前两种方式不再赘述,着重说明第三种:
Java中多维数组在应用上很像C语言的多维数组,但还是有区别的,在C语言中定义一个二维数组必须是 mxn 的矩形, 但Java的二维数组不一定是规则的矩形
如:定义如下数组:
int[][] x = new int[];
他表示定义了一个数组引用变量x,第一个元素为x[0],第n个元素变量为x[n-1]。x中从 x[0] 到 x[n-1] 的每个元素又是一个整数类型的数组引用变量,并未要求他们所引用数组的长度是多少,也就是说每个引用数组的长度可以不一样,如:
int[][] x = new int[3][];
x[0] = new int[3];
x[1] = new int[2];
内存分配情况如下: