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日

相关文章

  • java web个人通讯录系统设计

    Java web个人通讯录系统设计的完整攻略,一般包含以下几个部分: 1.需求分析 在进行系统设计之前,首先需要对需求进行分析。需求分析包括确定系统所需要的功能,确定系统的用户类型,确定系统的使用环境等。在进行需求分析时,需要充分考虑到用户的需求和实际使用环境,确保系统的功能和性能达到用户的期望。 2.系统设计 在确定了需求之后,需要进行系统设计。系统设计包…

    Java 2023年5月24日
    00
  • 详解Java中native关键字

    首先我们需要了解一下Java中native关键字的含义。 Native关键字 在Java中,native关键字被用来修饰一个方法,标记这个方法是用外部语言(如C或C++)实现的。通俗地说,native表示这个方法的实现不是在Java代码中,而是在外部的二进制库中。使用native可以让Java代码与外部代码(如C++)实现交互,为Java提供了更强大的功能。…

    Java 2023年5月26日
    00
  • java中list的用法和实例讲解

    下面是“java中list的用法和实例讲解”的完整攻略。 1. List的简介 List是Java中最常用的集合类型之一,它允许存储重复元素,并按照插入顺序维护元素的顺序。List接口是Collection接口的子接口。List接口有许多不同的实现方式,比如ArrayList、LinkedList等。 2. List的用法 2.1 创建List 创建List…

    Java 2023年5月26日
    00
  • SpringBoot零基础入门之基本操作与概念

    首先,对于“SpringBoot零基础入门之基本操作与概念”的完整攻略,我们可以分成以下几个方面进行讲解: SpringBoot的基本概念介绍。 SpringBoot快速搭建项目的操作方法。 SpringBoot项目中常用注解的介绍。 SpringBoot项目中的业务逻辑实现。 下面我们来逐一讲解。 1. SpringBoot的基本概念介绍 SpringBo…

    Java 2023年5月15日
    00
  • maven配置文件pom增加变量取版本号方式

    Maven 是一个强大的 Java 项目构建工具,为了方便地管理和构建项目,Maven 在项目根目录下(Maven 3 的版本中叫做 pom.xml)提供了一个 pom.xml 的配置文件,其中可以定义项目的名称、描述、依赖关系等信息。 在 pom.xml 文件中,可以配置 variable(变量) 来存放一些常量,例如版本号、路径等等,以减少硬编码并方便维…

    Java 2023年5月20日
    00
  • 浅谈java中字节与字符的区别

    针对“浅谈java中字节与字符的区别”,我可以提供以下攻略: 标题 浅谈Java中字节与字符的区别 正文 在Java中,字节和字符都是基本的数据类型。虽然二者都是用来处理数据,但是它们在数据类型之间的定义和使用方面有所不同。下面详细讨论两者的不同点: 1. 字节(byte) Java中的字节是8位二进制数据,用来表示数字或文本数据。字节数据类型是有符号的,因…

    Java 2023年5月20日
    00
  • Jar打包用法详解

    Jar打包用法详解 Jar是Java Archive的缩写,是一种用于打包Java类的标准格式。在Java开发中,经常需要将多个Java类打包成一个Jar文件,方便程序部署和传输。本文将详细介绍Jar打包的用法及示例。 基本用法 使用Jar命令行工具可以轻松地将多个Java类文件打包成一个Jar文件。下面是基本的用法: jar cf jarfile [-C …

    Java 2023年5月19日
    00
  • Java 时间格式转换之impleDateFormat与Data API解析与使用

    Java 时间格式转换之 SimpleDateFormat 与 Date API 解析与使用 一、简介 在Java中,日期时间格式化和解析的主要API是 SimpleDateFormat 与 Date。 SimpleDateFormat 类可以将 Java 的日期对象转换为指定格式的字符串,也可以将格式化后的日期字符串转换成 Java 的日期对象。 Date…

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