1引言
在Java学习中,数组是我们的常遇见的表现形式,相信大家对于一维数组已经得心应手了,那么,多维的数组呢?以简单的来说,二维又如何表现呢?在二维之后的多维数组呢?
2 问题
介绍多维数组,以及如何表现及应用。
3方法
理解二维数组,首先要先理解一维数组是什么。一维数组是个容器,存储相同数据类型的容器(这里不再做一位数组的具体介绍)。二维数组就是用来存储一维数组的数组,一维数组的存储数据类型是基本数据类型和引用数据类型,二维数组的存储数据类型是引用数据类型(一维数组是引用数据类型)。也就是:二维数组是存储一维数组的数组,二维数组里面的元素都是数组,二维数组来存储一维数组。二维数组的声明方式与内存分配方式与一维数组相似,格式为:数组名= new 数据类型[行数][列数] ,“行数”是告诉编译器所声明的数组有多少行,“列数”是声明每行中有多少列。例如:int0[][] a = new int [3][4];上面两行代码声明了一个二维的整型数组 a 并分配一块内存空间,是一个3行4列的整型数组。与一维数组类似,也可以用较为简洁的方式来声明二维数组,格式如下:数据类型0数组名= new 数据类型[行数][列数];以这种方式声明的数组,在声明的同时就分配一块内存空间,供该数组使用。例如: int [][] a = new int [3][4]。
三维以上的多维数组通过对二维数组的介绍不难发现,要想提高数组的维数,只要在声明数组的时候将下标与中括号再加一组即可,所以三维数组的声明为“ int [][][]a ;”,而四维数组的声明为“ int [][][][]a:”,依此类推。当使用多维数组时,输入输出的方式和一维数组、二维数组相同,但是每多一维,嵌套循环的层数就必须多一层,所以维数越高的数组其复杂度也就越高。
4实验结果与讨论
例题:输出一个二维数组,并计算二维数组元素的所有和
代码清单 1
public class DeMo_arr { | public static void main(String[] args) { | int sum = 0; | int[][] a = new int[4][4]; | System.out.println("这是二维数组:\n"); | for (int i = 0; i < a.length; i++) { | for (int m = 0; m < a[i].length; m++) { | a[i][m] = i * 4 + m; | System.out.print(a[i][m] + " "); | sum += a[i][m]; | System.out.println(" "); | } | } | System.out.println("二维数组的和为:" + sum); | } | } |
5结语
数组为Java学习的一个极为重要的组成部分,深刻理解它将极大地加深我们的理解,使得可以准确的理解并应用数组。