二维数组

二维数组的声明、创建

  1. 可以使用二维数组来存储表格。
  2. 可以使用以下语法来声明二维数组变量:
    元素类型 [][] 数组变量
  3. 可以使用以下语法来创建二维数组变量:
    new 元素类型[ 行的个数 ][ 列的个数 ]
  4. 使用下面的语法表示二维数组中的每个元素:
    数组变量[ 行下标 ][ 列下标 ]
  5. 可以使用数组初始化语法来创建和初始化二维数组:
    元素类型[][] 数组变置 ={{ 某行的值 } { 某行的值 }}

对二维数组的操作

对二维数组按列求和:

class Class35{
    public static void main(String[] args){
    Scanner scanner=new Scanner(System.in);
    System.out.print("Enter:");
    int row=scanner.nextInt();//定义二维数组的行
    int col=scanner.nextInt();//定义二维数组的列
    double[][] matrix=new double[row][col];
    for(int i=0;i<matrix.length;i++){//外层循环表示行 也就是一维数组的个数
        for(int j=0;j<matrix[i].length;j++){//内层循环表示列 也就是一维数组的长度
            matrix[i][j]=scanner.nextDouble();
        }
    }
    for(int j=0;j<col;j++){//外层循环表示列
        double sum=0;
        for(int i=0;i<row;i++){//内层循环表示行
            sum+=matrix[i][j];//每列元素求和
        }
        System.out.println(j+"col's sum is"+sum);
        }
  }

用二维数组实现矩阵的转置(将矩阵的行列互换得到的新矩阵称为转置矩阵,转置矩阵的行列式不变)。

        double[][] matrix=new double[][]{{1,2,3},//先创建一个二维数组表示一个矩阵
                                        {4,5,6}
        };
        double[][] arr=new double[matrix[0].length][matrix.length];//创建一个新数组,新数组的行为原数组的列,新数组的列为原数组的行
        for(int i=0;i<arr.length;i++){//外层循环表示行 也就是一维数组的个数
            for(int j=0;j<arr[i].length;j++){//内层循环表示列 也就是一维数组的长度
                arr[i][j]=matrix[j][i];//将新数组与原数组行列交换
                System.out.print(arr[i][j]+" ");
            }
            System.out.println();
        } 
    }

用二维数组实现矩阵的乘法:

        int[][] ma=new int[][]{{1,2}, //创建一个二维数组表示第一个矩阵
                                {3,4},
                                {5,6} };
        int[][] mb=new int[][]{{1,2,3},//再创建一个二维数组表示第二个矩阵
                                {4,5,6}};
        int[][] mc=new int[ma.length][mb[0].length];//创建一个新的二维数组存放乘积 新数组的行是第一个数组的行 新数组的列是第二个数组的列
        for(int i=0;i<mc.length;i++){//第一层循环表示新数组的行
            for(int j=0;j<mc[i].length;j++){//第二层循环表示新数组的列
                int sum=0;
                for(int k=0;k<mb.length;k++){//第三层循环表示第一个数组的列或第二个数组的行
                    sum+=ma[i][k]*mb[k][j];//两矩阵元素相乘求和
                }
                mc[i][j]=sum;//将乘积和赋给新数组
                System.out.print(mc[i][j]+" ");
            }
            System.out.println();
        }
    }
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值