我们要知道,Java中本没有多维数组这个概念,因为从数组底层的运行机制上来看Java没有多维数组,但是Java提供了支持多维数组的语法,可以实现多维数组的功能,比如,三维数组int arr[][][]、四维数组int arr[][][][],以此类推。
Java采用“数组的数组”声明多维数组,一个二维数组是由若干个一维数组构成的,那么一个三维数组就是由若干个二位数组构成的,也就是说,假设将一个三维数组看作一个一维数组,那这个三维数组的每个元素都是二维数组,以此类推,我们就可以得到任何多维数组。
例如:
1 2 3 4 5 6 7 8 9 10 11 12 | public class Main { public static void main(String[] args) { String[][][] name = {{{ "小d" , "小o" , "小t" },{ "小c" , "小p" }},{{ "小赵" , "小钱" },{ "小孙" , "小李" , "小周" }},{{ "吴月" , "郑阳" },{ "王星" , "冯云" , "陈雪" }}}; for ( int i = 0 ;i<name.length;i++) { for ( int j = 0 ;j<name[i].length;j++) { for ( int k = 0 ;k<name[i][j].length;k++) { System.out.println( "name[" +i+ "][" +j+ "][" +k+ "]=" +name[i][j][k]); } } } } } |
运行结果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | name[ 0 ][ 0 ][ 0 ]=小d name[ 0 ][ 0 ][ 1 ]=小o name[ 0 ][ 0 ][ 2 ]=小t name[ 0 ][ 1 ][ 0 ]=小c name[ 0 ][ 1 ][ 1 ]=小p name[ 1 ][ 0 ][ 0 ]=小赵 name[ 1 ][ 0 ][ 1 ]=小钱 name[ 1 ][ 1 ][ 0 ]=小孙 name[ 1 ][ 1 ][ 1 ]=小李 name[ 1 ][ 1 ][ 2 ]=小周 name[ 2 ][ 0 ][ 0 ]=吴月 name[ 2 ][ 0 ][ 1 ]=郑阳 name[ 2 ][ 1 ][ 0 ]=王星 name[ 2 ][ 1 ][ 1 ]=冯云 name[ 2 ][ 1 ][ 2 ]=陈雪 |
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程