Java如何访问二维数组元素?

在Java中通过索引访问二维数组元素,例如array[i][j]获取第i行第j列的值,使用嵌套循环遍历所有元素,外层控制行索引,内层控制列索引,注意数组索引从0开始。

在Java中,二维数组本质上是“数组的数组”,通过行和列的双重索引访问元素,以下是详细操作指南:

Java如何访问二维数组元素?

声明与初始化

// 静态初始化(直接赋值)
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 动态初始化(指定维度)
int rows = 3, cols = 4;
double[][] data = new double[rows][cols]; // 默认值0.0

访问单个元素

通过[行索引][列索引]直接获取值:

int[][] arr = {{10, 20}, {30, 40}};
System.out.println(arr[0][1]); // 输出:20(第0行第1列)

遍历二维数组的3种方法

  1. 基础for循环(精确控制索引)

    for (int i = 0; i < arr.length; i++) {         // 遍历行
        for (int j = 0; j < arr[i].length; j++) {  // 遍历当前行的列
            System.out.print(arr[i][j] + " ");
        }
        System.out.println();
    }
  2. 增强for循环(无需索引)

    Java如何访问二维数组元素?

    for (int[] row : arr) {        // 获取每一行(子数组)
        for (int element : row) {  // 遍历当前行元素
            System.out.print(element + " ");
        }
        System.out.println();
    }
  3. Arrays工具类(快速打印)

    import java.util.Arrays;
    System.out.println(Arrays.deepToString(arr)); 
    // 输出:[[10, 20], [30, 40]]

关键注意事项

  1. 索引范围

    • 行索引范围:0数组名.length-1
    • 列索引范围:0数组名[行索引].length-1
    • 越界访问会抛出ArrayIndexOutOfBoundsException
  2. 不规则数组(每行长度不同):

    Java如何访问二维数组元素?

    int[][] jagged = new int[3][];
    jagged[0] = new int[]{1};
    jagged[1] = new int[]{2, 3};
    jagged[2] = new int[]{4, 5, 6};

完整示例

public class Main {
    public static void main(String[] args) {
        String[][] words = {{"Java", "Python"}, {"C++", "JavaScript"}};
        // 获取特定元素
        String lang = words[1][1]; // "JavaScript"
        // 遍历打印
        for (String[] row : words) {
            for (String word : row) {
                System.out.print(word + " ");
            }
            System.out.println();
        }
    }
}

应用场景

  • 表格数据处理(如Excel导入)
  • 矩阵运算
  • 游戏地图(棋盘/网格)

重要提示:访问前务必检查索引合法性,动态初始化时注意子数组需单独实例化(new int[3][]仅分配行引用,每行需再初始化)。


引用说明

  • Java官方文档:Arrays (Oracle Java SE 17)
  • 《Java核心技术卷I》(Cay S. Horstmann著)第3章数组与对象
  • 代码示例遵循MIT开源许可协议

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/42922.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月1日 17:59
下一篇 2025年7月1日 18:07

相关推荐

  • Java如何播放声音?

    在Java中添加声音通常使用javax.sound.sampled包,主要步骤:通过AudioSystem获取音频输入流,创建Clip对象载入音频,最后调用clip.start()播放,需处理异常并确保支持音频格式(如WAV)。

    2025年6月8日
    200
  • Java如何每天添加日志?

    在Java项目中,通过日志框架(如Logback或Log4j2)配置按日期滚动的策略,例如设置TimeBasedRollingPolicy的文件名模式为”%d{yyyy-MM-dd}.log”,即可自动每天生成独立日志文件。

    2025年6月22日
    100
  • Java字符串怎么转大写?

    在Java中,使用字符串的toUpperCase()方法可将字符串转为大写,如str.toUpperCase(),该方法返回新字符串,原始字符串不变,若需本地化转换,可指定Locale参数。

    2025年6月22日
    200
  • Java当前运行服务器是什么

    要查询Java服务器的名称,可通过以下方式:,1. 在Java代码中使用request.getServerName()获取当前请求的服务器名。,2. 检查应用服务器系统属性,如Tomcat通过System.getProperty(“catalina.base”)路径推断。,3. 查看服务器配置文件(如server.xml)或管理控制台中的主机标识信息。,4. 执行命令行工具(如hostname)或通过环境变量获取主机名。

    2025年6月21日
    300
  • Java中如何设置按钮颜色?

    在Java Swing中设置按钮颜色,使用setBackground()设置背景色,setForeground()设置文字颜色,注意需调用setOpaque(true)确保背景色生效,,“java,JButton button = new JButton(“确定”);,button.setBackground(Color.RED); // 红色背景,button.setForeground(Color.WHITE); // 白色文字,button.setOpaque(true); // 关键:启用不透明绘制,“

    2025年6月17日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN