Java培训中二维数组的声明和初始化
更新时间:2023-02-23
二维数组被实现为一维数组的数组。这并不像你想象的那么可怕。它是您已经知道的一维对象数组的扩展。例如下面二维数组声明:
int[][]myArray;//1.
声明一个变量myArray,该变量将来可能引用数组对象。在这一点上,关于行或列的数量还没有提到。
要创建包含3行的数组,请执行以下操作:
myArray=newint[3][];//2.
现在myArray引用了一个数组对象。数组对象有3个单元格。每个单元格可能(将来)引用一个int数组,即int[]对象。然而,还没有一个单元格指向某个对象。它们被初始化为null。
创建第0行的一种方法是:
myArray[0]=newint[3];//3.
这将创建一个1D数组对象,并将其引用放在myArray的单元格0中。1D数组的单元格初始化为0。
可以将先前构造的一维数组分配给一行:
int[]x={0,2};
int[]y={0,1,2,3,4};
myArray[1]=x;
myArray[2]=y;//4.
行不需要具有相同数量的单元格。
(因为相当于C或C++在堆上的动态分配,几行,第行几列都随意。)
前面的语句逐步构造2D数组。通常你不会这样做。
(Java的二维数组有点类似于C/C++的动态指针数组,不同的是,C++的二维动态数组是通过一维指针数组的每一个指针去指向一维数组。另外,Java数组是有初始化和边界检查的)
对于二维数组的长度,各维的长度都分别用length()方法来统计:
classunevenExample3
{
publicstaticvoidmain(String[]arg)
{
//declareandconstructa2Darray
int[][]uneven=
{{1,9,4},
{0,2},
{0,1,2,3,4}};
//printoutthearray
for(introw=0;row<uneven.length;row++)
{
System.out.print("Row"+row+":");
for(intcol=0;col<uneven[row].length;col++)
System.out.print(uneven[row][col]+"");
System.out.println();
}
}
}
推荐课程
-
唐山现代多元Design全能班
346人 报名小编
-
唐山现代多元Design精英班
393人 报名小编
-
唐山现代艺术设计全能班
373人 报名小编
-
唐山电商课程培训班
331人 报名小编
-
唐山专业盲打指法训练
251人 报名小编