Java中的多维数组

多维数组实际上是"数组的数组",在Java中并没有真正的多维数组,而是通过数组嵌套实现的。

基本概念

  1. 二维数组:最常用的多维数组形式,可以看作是一个表格

  2. 更高维数组:三维数组可以想象成立方体,四维及以上就难以直观想象了

声明和初始化

1. 声明方式

// 二维数组声明
int[][] matrix1;     // 推荐写法
int[] matrix2[];     // 合法但不推荐
int matrix3[][];     // C语言风格,不推荐

2. 初始化方式

// 方式1:直接初始化
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

// 方式2:先声明再逐个初始化
int[][] matrix = new int[3][3];
matrix[0][0] = 1;
matrix[0][1] = 2;
// ...

// 方式3:不规则数组(每行长度不同)
int[][] triangle = new int[3][];
triangle[0] = new int[1];
triangle[1] = new int[2];
triangle[2] = new int[3];

访问元素

int[][] matrix = {{1, 2, 3}, {4, 5, 6}};

// 访问单个元素
int element = matrix[0][1];  // 获取第1行第2列元素 (值为2)

// 遍历二维数组
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. 内存不连续:Java多维数组在内存中不是连续存储的

  2. 每行长度可变:可以创建不规则数组(每行长度不同)

  3. 数组是对象:每个维度的数组都是独立的对象

三维数组示例

// 声明并初始化3x3x3数组
int[][][] cube = new int[3][3][3];

// 填充数据
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 3; k++) {
            cube[i][j][k] = i + j + k;
        }
    }
}

注意事项

  1. 访问前必须初始化每一维度

  2. 多维数组会占用较多内存

  3. 深度嵌套会影响代码可读性

在实际开发中,二维数组常用于表示矩阵、表格数据等,更高维数组使用较少,可以考虑使用面向对象的方式替代。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值