二维数组是一个数组的数组,它在程序中通常被用于表示矩阵或表格数据。每个元素在一个二维数组中由两个索引值确定,一个表示行,另一个表示列。以下是关于二维数组的一些基本概念和示例:

声明和初始化二维数组:

您可以使用以下方式声明和初始化一个二维数组:

// 声明一个3x3的整数二维数组
int[][] matrix = new int[3][3];

// 初始化二维数组的值
matrix[0][0] = 1;
matrix[0][1] = 2;
matrix[0][2] = 3;
// ... 以此类推

初始化时指定初始值:

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

访问二维数组元素:

您可以使用两个索引值来访问二维数组的元素:

int value = matrix[1][2];  // 访问第二行第三列的元素,值为6

遍历二维数组:

您可以使用嵌套的循环来遍历整个二维数组:

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();  // 换行
}

二维数组的长度:

二维数组是由一维数组组成的,因此可以通过数组的length属性来获取行数,以及内部数组的length属性来获取列数:

int rows = matrix.length;       // 行数
int columns = matrix[0].length; // 列数,假设所有内部数组长度相同

应用场景:

  • 表格数据的存储和处理。
  • 图像处理中表示像素点的颜色值。
  • 游戏开发中的地图和场景表示。
  • 数学矩阵运算等。

二维数组是在许多编程场景中都有用的重要工具,它可以帮助您在程序中有效地组织和处理具有多维结构的数据。


二维数组

二维数组:数组的初始化方式总共有三种:静态初始化、动态初始化、默认初始化

二维数组:[][]

静态初始化
除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。

eg:

int[][] arr = {{1,2},{4,5,6},{4,5,6,7,8,9,9}};
int[][] arr =new int[][] {{1,2},{4,5,6},{4,5,6,7,8,9,9}};

动态初始化

数组定义与为数组元素分配空间并赋值的操作分开进行。
eg:
int[][] arr = new int[3][]; //本质上定义了一维数组长度为3,每个“格子”中放入的是一个数组

arr[0] = {1,2};
arr[1] = {3,4,5,6};
arr[2] = {34,45,56};

描述
给定一个二维数组,请你编写一个求和函数,计算出这个数组元素的和

输出描述:
输出二维数组元素的和

public static void main(String[] args) {
        int[][]  arr = {{11,33,50},{22,44,66,88},{131,214,315,146},{928,827,726,625},{424,525}};
       //方法体1  二维数组
        int sum=add(arr);
        System.out.println(sum);
        //方法体2  单数组
        int[]  arr1 = {5,10,5,10,5,5};
        int sum1=add1(arr1);
        System.out.println(sum1);
    }

    //利用for 循环迭代进行 相加的操作

    private static int add1(int[] arr1) {

        int sum=0;

        for(int i=0;i<arr1.length;i++){
                sum=sum+arr1[i];

        }
        return sum;


}

    public static int add(int[][] arr) {
        int sum=0;

        for(int i=0;i<arr.length;i++){
            for(int j=0;j<arr[i].length;j++){
                sum=sum+arr[i][j];
            }
        }
        return sum;
    }

运行结果

5175
40

DEMO

当处理二维数组求和时,您需要遍历数组的每个元素,并将它们累加起来。以下是一个简单的Java示例,演示如何对二维数组进行求和:

public class ArraySum {
    public static void main(String[] args) {
        int[][] matrix = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        int sum = calculateSum(matrix);
        System.out.println("二维数组的和为:" + sum);
    }

    public static int calculateSum(int[][] matrix) {
        int sum = 0;

        for (int[] row : matrix) {
            for (int value : row) {
                sum += value;
            }
        }

        return sum;
    }
}

在这个示例中,calculateSum方法遍历了每一行和每一列,将每个元素的值加到总和中。最后,总和被返回并打印出来。