Java基础自学笔记——第八章:多维数组

第八章:多维数组

一.多维数组的基础知识

1.语法
数据类型[][] 数组名;

int[][] array=new int[3][4];
array[0][0]=1;
……
int[][] array= {
    
    {
    
    2,3},{
    
    5,6},{
    
    7,8}};

int[][] array=new int[][]{
    
    {
    
    2,3},{
    
    5,6},{
    
    7,8}};

二维数组更像是一个大的一维数组,数组的每个元素又是一个一维数组
在这里插入图片描述
x[0].length=x[1].length=x[3].length=4

声明一个三维数组:int[][][] array=new int[6][5][4];
每个三维数组中的每个元素为一个二维数组,每个二维数组中的元素是一个一维数组。

二.创建锯齿数组

1.语法
int[][] array=new int[3][];必须指定第一个下标

下面例子是创建一个随机由0和1组成的锯齿数组并打印

	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
		int[][] array = new int[3][];//创建一个锯齿数组
		array[0] = new int[4];
		array[1] = new int[2];
		array[2] = new int[3];//定义一维数组的长度
       //打印数组需要使用循环
		for (int i = 0; i < array.length; i++) {
    
    
			for (int j = 0; j < array[i].length; j++) {
    
    
				array[i][j] = (int) (Math.random() * 2);//为锯齿数组赋值
				System.out.print(array[i][j] + " ");//打印
			}
			System.out.println();//换行
		}
	}

结果:
在这里插入图片描述

三.经典回顾

1.使用方法头
public static double[][] multiolyMatrix(double[][] a,double[][] b)
计算两个3*3矩阵的乘积

	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
		double[][] a = new double[3][3];
		double[][] b = new double[3][3];
		addElement(a);//向数组中添加元素
		addElement(b);
		double[][] c = multiolyMatrix(a, b);//乘法
		printArray(a);//打印数组
		System.out.println("*");
		printArray(b);
		System.out.println("=");
		printArray(c);
	}

	public static void addElement(double[][] array) {
    
    
		System.out.println("请输入数组元素");
		Scanner in = new Scanner(System.in);
		for (int i = 0; i < array.length; i++) {
    
    
			for (int j = 0; j < array[i].length; j++) {
    
    
				array[i][j] = in.nextDouble();
			}
		}
	}

	public static double[][] multiolyMatrix(double[][] a, double[][] b) {
    
    
		double[][] c = new double[3][3];
		for (int i = 0; i < a.length; i++) {
    
    
			for (int j = 0; j < a[i].length; j++) {
    
    
				double sum = 0;//定义一个变量接收乘积和
				for (int k = 0; k < a[i].length; k++) {
    
    
					sum += a[i][k] * b[k][j];
				}
				c[i][j] = sum;//将c[i][j]设置为sum
			}
		}
		return c;
	}

	public static void printArray(double[][] array) {
    
    
		for (int i = 0; i < array.length; i++) {
    
    
			for (int j = 0; j < array[i].length; j++) {
    
    
				System.out.printf("%.1f ", array[i][j]);
			}
			System.out.println();
		}
		System.out.println();
	}

结果为:
在这里插入图片描述

四.总结

通过对本章的学习,我学到了定义多维数组,创建锯齿数组,以及对多维数组更深层次的理解,通过经典回顾,我巩固了对多维数组的使用。

加油!第九章待更……

猜你喜欢

转载自blog.csdn.net/weixin_42563224/article/details/104330192
今日推荐