Java多维数组详解

Java多维数组详解

 

什么是多维数组

Java 数组可以是一维或多维。一维数组就是最普通数组,是一列数据的线性序列,而多维数组相对而言就更加复杂。

多维数组就是数组中包含数组,类似于矩阵。

  • 一个一维数组表示一行
  • 多个一维数组表示多行

 

声明和初始化多维数组

多维数组的声明和初始化与一维数组非常类似,二维数组的初始化需要给出行数和列数,例如:

int a[][] = new int[3][4]

这个代码声明了一个有3行4列的整数型二维数组a。

也可以这样写:

int [][]arr = new int[2][];  //第二维可以list
arr[0] = new int[]{1,2,3};
arr[1] = new int[]{4,5};

这个代码首先定义了一个二维数组arr,arr有两行。接着在第一行的数组{1,2,3}和第二行的数组{4,5}中中添加数据。

 

数组元素访问

访问多维数组的语法与一维数组类似,例如:

a[0][0] = 1;
a[0][1] = 2;

 

多维数组的遍历

二维数组的遍历

二维数组可以通过嵌套循环遍历,例如:

for (int i = 0; i < a.length; i++) {
    for (int j = 0; j < a[i].length; j++) {
        System.out.print(a[i][j] + " ");
    }
    System.out.println();
}

其中,i 表示一维数组的下标,j 表示二维数组的下标。

三维数组的遍历

三维数组的遍历需要使用三层循环:

for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr[i].length; j++) {
         for (int k=0; k<arr[i][j].length; k++){
            System.out.print(arr[i][j][k] + " ");
         }
         System.out.println();
    }
    System.out.println();
}

 

注意事项

  • 多维数组的行数和列数可以不相同,每一行可以存放不同个数的元素。
  • 声明多维数组时需要注意方括号的个数,多维数组相当于一个数组的数组。

 

示例

示例1

public static void main(String[] args) {
    int[][] matrix = new int[3][3];
    // 录入数据
    for (int i = 0; i < matrix.length; i++) {
        for (int j = 0; j < matrix[i].length; j++) {
            matrix[i][j] = i * 3 + j + 1;
        }
    }
    // 打印数据
    for (int i = 0; i < matrix.length; i++) {
        for (int j = 0; j < matrix[i].length; j++) {
            System.out.print(matrix[i][j] + " ");
        }
        System.out.println();
    }
}

输出结果:

1 2 3 
4 5 6 
7 8 9 

这个例子展示了一个3行3列的二维数组,它包含1到9的整数。通过两层循环遍历数组,打印输出数组元素。

示例2

public static void main(String[] args) {
    int[][][] matrix = new int[2][2][3];
    // 录入数据
    for (int i = 0; i < matrix.length; i++) {
        for (int j = 0; j < matrix[i].length; j++) {
            for(int k=0; k<matrix[i][j].length; k++){
                matrix[i][j][k] = i+j+k;
            }
        }
    }
    // 打印数据
    for (int i = 0; i < matrix.length; i++) {
        for (int j = 0; j < matrix[i].length; j++) {
            for(int k=0; k<matrix[i][j].length; k++){
                System.out.print(matrix[i][j][k] + " ");
            }
            System.out.println();
        }
        System.out.println();
    }
}

输出结果:

0 1 2 
1 2 3 

1 2 3 
2 3 4 

这个例子展示了一个2 * 2 * 3的三维数组,其中每个元素的值等于它在三维数组中的下标之和。通过三层循环遍历数组,打印输出数组元素。

 

总结

  • 多维数组的声明和初始化与一维数组类似,但方括号的个数代表维数。
  • 多维数组的访问需要使用多个下标。
  • 多维数组的遍历需要使用多层循环,以二维数组为例需要使用两层循环,以三维数组为例需要使用三层循环。

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java多维数组详解 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 使用HtmlAgilityPack XPath 表达式抓取博客园数据的实现代码

    实现代码使用 HtmlAgilityPack 库 和 XPath 表达式抓取博客园数据。步骤如下: 1. 安装HtmlAgilityPack库 在Visual Studio中,右键解决方案,选择”管理NuGet程序包”,在搜索框中输入”HtmlAgilityPack”,安装最新版本。 2. 加载页面并获取HTML代码 使用WebClient实例获取博客园页面…

    Java 2023年5月31日
    00
  • JSP 不能解析EL表达式的解决办法

    JSP 是一种在 Java Web 应用程序中广泛使用的技术,它可以将文本、HTML、XML 和 Java 代码混合在同一个文件中。EL 表达式是 JSP 技术中一个重要的特性,它允许在 JSP 页面上轻松访问和操作 Java 对象。但是,在一些情况下,JSP 无法正确解析 EL 表达式,这会导致页面无法正确渲染。接下来,我们将介绍一些解决 JSP 无法解析…

    Java 2023年6月15日
    00
  • Java解析XML(4种方式)案例详解

    Java解析XML(4种方式)案例详解 1. Java解析XML的概念 在Java开发中,我们经常需要读取和修改一些XML格式的文件。XML全称为Extensible Markup Language(可扩展标记语言),是W3C组织推出的标记语言。 XML是一种纯文本格式,用来描述数据。它通过标签的方式来组织数据,标签包含了属性和值,这些在XML文件中都可以很…

    Java 2023年5月19日
    00
  • Java 数据库连接池详解及简单实例

    Java 数据库连接池详解及简单实例 数据库连接池是一种管理数据库连接的技术,它使用一组数据库连接来避免在每个请求中重复创建和释放数据库连接的开销。本文将详细介绍Java中如何使用数据库连接池技术。 什么是数据库连接池 数据库连接池是一种可以在应用程序启动时创建并保持在内存中的一组预配置的数据库连接。当应用程序需要连接到数据库时,它可以从连接池中获取一个空闲…

    Java 2023年6月16日
    00
  • Java反射之类的实例对象的三种表示方式总结

    接下来我将为你详细讲解“Java反射之类的实例对象的三种表示方式总结”的完整攻略。 什么是Java反射? Java反射是指在运行时动态地获取类的信息,并可以通过获取的信息来操作类或对象的属性、方法和构造函数等。Java反射常常被用于泛型操作、动态代理、框架开发、ORM框架等场景中。 类与对象的概念 在讲解Java反射的三种实例对象的表示方式之前,我们需要明确…

    Java 2023年5月26日
    00
  • 使用express获取微信小程序二维码小记

    使用express获取微信小程序二维码的方式,主要有两种:一种是通过调用微信小程序的API获取,这需要开发者权限;另一种是通过第三方服务商API获取,不需要开发者权限。下面分别介绍这两种获取二维码的方式。 通过调用微信小程序API获取二维码 1. 准备工作 在使用微信小程序API之前,需要先申请开发者权限,具体步骤可以参考微信官方文档。获取开发者权限后,需要…

    Java 2023年5月23日
    00
  • EasyUI创建人员树的实例代码

    下面我将详细讲解EasyUI创建人员树的实例代码的完整攻略。 1. 引入EasyUI资源文件 首先,我们需要在HTML文件中引入EasyUI所需的资源文件,包括EasyUI库文件、CSS样式文件、jQuery库文件。代码如下: <!– 引入EasyUI库文件 –> <script type="text/javascript&q…

    Java 2023年6月15日
    00
  • Maven中dependency和plugins的继承与约束

    Maven 中的 dependency 和 plugins 的继承和约束机制是 Maven 中非常重要的一部分,它能够让开发者更加方便地管理项目的依赖和构建过程。在 Maven 中,我们可以通过使用 dependencyManagement 和 pluginManagement 元素来实现依赖和插件的继承和约束。 一、dependency 的继承与约束 继承…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部