第八章:多维数组
一.多维数组的基础知识
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();
}
结果为:
四.总结
通过对本章的学习,我学到了定义多维数组,创建锯齿数组,以及对多维数组更深层次的理解,通过经典回顾,我巩固了对多维数组的使用。
加油!第九章待更……