二维数组
二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式] [常量表达式]。
二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素。
二维数组的定义:
静态初始化:
int[] [] a = {
{1,2,3,4},
{1,2,3},//最后的逗号可有可无
};
特点:
1、编译器来数数
2、每行一个{},逗号分隔
3、最后的逗号可以存在,有古老的传统
4、如果省略,便是补零
非静态初始化:
int[][] a = new int[3][5];
通常理解为a是一个3行5列的矩阵
与一维数组一样,行序号和列序号的下标都是从 0 开始的。元素 a[i][j] 表示第 i+1 行、第 j+1 列的元素。
下面这样定义数组非法,一维都不知道是多少。
int t1[][] = new int[][4];
a[i][j]是一个int,表示第i行第j列上的单元,a[i,j]在Java并不存在
多维数组
三维数组具有高、宽、深的概念,或者说行、列、层的概念,即数组嵌套数组达到三维及其以上。是最常见的多维数组,由于其可以用来描述三维空间中的位置或状态而被广泛使用。
四维数组以上很难理解,且并不常用,在此不做讨论。
三维数组的定义:
int[][][]arr = {{{1,2},{3,4,5},{6}},{{7,8},{9}},{{10,11},{12,13}}};
从数组底层的运行机制来看——java没有多维数组。 参考文章java没有多维数组
版权声明:本文为weixin_45797022原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。