写点什么

【Java】:二维数组的定义、初始化、长度以及循环遍历等...

作者:翼同学
  • 2022 年 8 月 21 日
    广东
  • 本文字数:1199 字

    阅读完需:约 4 分钟

【Java】:二维数组的定义、初始化、长度以及循环遍历等...

1、前言


大家好,我是翼同学。今天笔记的内容是:


  • 二维数组的使用



2、内容


2.1、如何理解 Java 中的多维数组?


与其他编程语言的数组相比,Java 数组可以称为是:不规则数组。事实上,Java 没有多维数组,只有一维数组,只不过由若干数组元素构成另一个数组,此时模拟的就是多维数组。因此 Java 的多维数组被解释为:数组的数组


而在多维数组中,常用的就是二维数组。所谓的二维数组,其实可以看成有一个一维数组,该数组的每个子元素也是一维数组,就这样形成了二维数组。我们通常使用二维数组存储类似表格数据。

2.2、二维数组的定义

2.2.1、静态初始化


  • 格式一举例:


int[][] array = new int[][] {{1}, {2, 3}, {4, 5, 6}};
复制代码


这也可以看出 Java 数组的不规则特性。


  • 格式二举例:


int[][] array = {{1}, {2, 3}, {4, 5, 6}};
复制代码


其实这相当于格式一的简写。


  • 格式三举例:


int array[][] = new int[][] {{1}, {2, 3}, {4, 5, 6}};
复制代码


前面俩括号可以放二维数组名的后面。当然,此时后面的new int[][]也可以省略掉。


  • 格式四举例:


int[] array[] = new int[][] {{1}, {2, 3}, {4, 5, 6}};
复制代码


这样写也表示二维数组,不会报错。只不过通常比较少使用。



2.2.2、动态初始化


  • 格式一举例:


int[][] array = new int[3][2];
复制代码


这相当于定义了一个三行两列的二维数组。也就是说,该数组是一个包含三个元素的数组,并且每个元素都是拥有 2 个子元素的一维数组。


  • 格式二举例:


int[][] array = new int[3][];
复制代码


第二个括号中的数值可以省略,编译不会报错。其具体的取值根据后续的代码而定。

2.3、调用指定索引的元素


在二维数组中,如何调用指定索引处的元素?


语法如下:


数组名[索引1][索引2]
复制代码


举个例子:


int[][] array ={  {1,2,3},  {4,5,6},  {7,8,9}};
复制代码


在上述例子中,定义了一个 3 行 3 列的二维数组array,此时我们需要打印出第 2 行中的第 3 个元素,也就是6


语句如下:


System.out.println(array[1][2]); //=> 6
复制代码

2.4.、二维数组的长度


一样的,我们可以通过 length 属性来获取二维数组的长度。


举个例子:


int[][] array = {{1},{2,3},{4,5,6}};System.out.println(array.length);System.out.println(array[0].length);System.out.println(array[1].length);System.out.println(array[2].length);
复制代码


输出结果为:


3123
复制代码


可以看到array.length表示该二维数组一共有几个一维子数组,array[i].length则获取每个子数组的具体长度。

2.5、循环遍历二维数组


  • 传统 for 循环:


int[][] bigArray = {{1},{2,3},{4,5,6}};
for(int i = 0; i < bigArray.length; i++) {
for(int j = 0; j<bigArray[i].length; j++) {
System.out.print(bigArray[i][j] + " "); } System.out.println();}
复制代码


  • for each 循环:


int[][] bigArray = {{1},{2,3},{4,5,6}};
for(int[] arr : bigArray) { for(int i : arr){ System.out.print(i + " "); } System.out.println();}
复制代码


  • 输出结果都是:


1 2 3 4 5 6
复制代码

3、写在最后

好了,今天的笔记就记到这里。

发布于: 刚刚阅读数: 4
用户头像

翼同学

关注

知行合一 2022.08.02 加入

@珠海科技学院

评论

发布
暂无评论
【Java】:二维数组的定义、初始化、长度以及循环遍历等..._Java_翼同学_InfoQ写作社区