Java采用“数组的数组”声明多维数组,一个二维数组是由多个一维数组构成的。如下
int mytwo[][]=new int[3][4];
上述创建的二维数组mytwo就是由三个长度为4的一维数组mytwo[0],mytwo[1],mytwo[2]构成的。
其地址引用如下
2.构成二维数组的一位数组不必有相同的长度,在创建二维数组时可以分别指定构成该二维数组的一维数组的长度,例如:
int a[][]=new int[3][];
创建了一个二维数组a,a由三个一维数组a[0],a[1],a[2]构成,但他们的长度还没有确定,即还没有为这些一维数组分配元素,因此必须要创建a的三个一维数组。例如:
a[0]=new int [6];
a[1]=new int [12];
a[2]=new int[8];
注和C语言不同的是,java允许使用int型变量的值指定数组元素的个数例如
int size=30;
double number []=new double[size];
下面是实际的使用用例代码:
package cn.com;
public class Array {
public static void main(String[] args) {
//锯齿数组静态初始化
int Array1[][]={{1,2,3,4,5},{6,7,8,9},{10,11}};
int b [ ] [ ] = new int [3] [ ];
b[0] = new int [5];
b[1] = new int [4];
b[2] = new int [2];
//锯齿数组动态赋值
int k=1;
for(int i=0;i<b.length;i++)
{
for(int j = 0; j < b[i].length; j++)
{
b[i][j]=k++;
}
}
//使用for循环输出
for(int i=0;i<b.length;i++)
{
for(int j = 0; j < b[i].length; j++)
{
System.out.println(b[i][j]);
}
}
//foreach 输出
// for(数据类型 变量名:数组名)
// {
// //对变量名的一些操作,例如:输出
// }
//int[] arr 数据类型为一维数组 Array1为数组名
for (int[] arr : Array1) {
for (int arr2 : arr) {
System.out.print(arr2+"\t");
}
System.out.println();
}
for (int[] arr : b) {
for (int arr2 : arr) {
System.out.print(arr2+"\t");
}
System.out.println();
}
}
}