三维数组
int[][][] Pro1 = {
{
{10,132,53,634,19},
{11,33,433,543,18},
{234,345,53,65,17},
{33,980,132,53,16}
},
{
{201,345,53,65,15},
{11,211,33,433,14},
{124,10,53,13},
{135,32,53,631,12}
},
{
{30,4,10,132,11},
{21,5,32,533,21},
{22,1,33,433,41},
{23,10}
}
};
for(int i=0;i<Pro1.length;i++)
{
for(int j=0;j<Pro1[i].length;j++)
{
for(int k=0;k<Pro1[i][j].length;k++)
{
System.out.print(Pro1[i][j][k]+"\t");
}
System.out.println();
}
System.out.println();
}
三维数组由二维数组衍生过来,同样二维数组由一维数组衍生过来,所以这样理解起来,三维数组也不是那么的难啃。同样多维数组也是这个思维。
首先是定义一个三维数组:
int[][][] Pro1 = {
{
{10,132,53,634,19},
{11,33,433,543,18},
{234,345,53,65,17},
{33,980,132,53,16}
},
{
{201,345,53,65,15},
{11,211,33,433,14},
{124,10,53,13},
{135,32,53,631,12}
},
{
{30,4,10,132,11},
{21,5,32,533,21}, //如果数组长宽整齐,则可以使用数字来取i,j,k;
{22,1,33,433,41}, //而本组中的元素不整齐,故不能使用数字来赋给i,j,k;否则系统会报错
{23,10}
}
直接利用三层循环遍历(为方便演示,本次以int型为例)
第一层循环:
直接将三维数组的第一部分看成一维数组,则一维数组内的元素为3个二维数组;即一维数组的长度为即Pro1.length(当成三维数组的高)。
第二层循环:
直接将三维数组的第二部分看成三个二维数组,则每个二维数组内的元素为4个一维数组;即二维数组的长度为Pro1[i].length(即Pro1[i].length行)。
第三层循环:
直接将三维数组的第三部分看成12个一维数组(12行),则每个一维数组都只有一行Pro1[i][j].length个(Pro1[i][j].length列)元素。
完整代码:
```java
public class Array1 {
public static void main(String[] args) {
int[][][] Pro1 = {
{
{10,132,53,634,19},
{11,33,433,543,18},
{234,345,53,65,17},
{33,980,132,53,16}
},
{
{201,345,53,65,15},
{11,211,33,433,14},
{124,10,53,13},
{135,32,53,631,12}
},
{
{30,4,10,132,11},
{21,5,32,533,21},
{22,1,33,433,41},
{23,10}
}
};
for(int i=0;i<Pro1.length;i++)
{
for(int j=0;j<Pro1[i].length;j++)
{
for(int k=0;k<Pro1[i][j].length;k++)
{
System.out.print(Pro1[i][j][k]+"\t");
}
System.out.println();
}
System.out.println();
}
}
}
代码运行:
```java
10 132 53 634 19
11 33 433 543 18
234 345 53 65 17
33 980 132 53 16
201 345 53 65 15
11 211 33 433 14
124 10 53 13
135 32 53 631 12
30 4 10 132 11
21 5 32 533 21
22 1 33 433 41
23 10
二维数组我们以行、列为循环遍历先后顺序。同样三维数组利用循环嵌套可以理解为先后顺序为 高、行、列。
同样也利用数学思维 高、长、宽来理解: