您好,欢迎访问唐山现代电脑培训学校官网!

186 3153 9995

全国咨询热线

您现在所在位置: 主页 > 行业动态 > 程序开发

Java培训中二维数组的声明和初始化

更新时间:2023-02-23

01.jpg

    二维数组被实现为一维数组的数组。这并不像你想象的那么可怕。它是您已经知道的一维对象数组的扩展。例如下面二维数组声明:

    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();

    }

    }

    }

推荐课程

在线客服

ONLINE SERVICE

联系电话

186 3153 9995

返回顶部