关于java的多维数组
在前面的文章中,我们了解了数组的使用,我们之前所了解的数组是一维数组,本篇文章我们来了解一下二维数组,多维数组😀
一、二维数组
- 首先我们知道一维数组的声明和创建的方式是。
int array = new int[数组的长度];
- 二维数组的声明和创建方式是这样的。
int array[][] = new int[2][3]; //这里的长度只是用于举例。
- 二维数组其实可以看成,是数组的数组,二维数组就是一个特殊的一维数组,每个元素都是一个一维数组😀。
-
解析:上述的int [2] [3] 可以理解为两行三列的数组,也就是数组的嵌套,大家可以理解一下。
-
光看文字可能难以理解,我们直接用代码去理解🤔。
public class Demo
{public static void main(String[] args) {//四行两列/*1,2 array[0]2,3 array[1]3,4 array[2]4,5 array[3]*/int[][] array = {{1,2},{2,3},{3,4},{4,5}};System.out.println(array[0]);}
}
1、首先我们声明了一个二维数组array。
2、我们为array赋值,遵循上面说的4行两列的规则,就是4个小数组,每个小数组中有两个元素。
3、我们直接输出一下array[0],但是输出的结果是一个对象,就是一个数组。
[I@1b6d3586进程结束......
4、我们可以用之前写过的输出数组元素方法,来取出数组中的元素,先来回忆一下输出数组的方法。
public class Demo
{public static void main(String[] args) {printArrays();}//输出数组的方法public static void printArrays(int[] arrays){for(int i = 0; i<array.length;i++){System.out.print(array[i]+"\t");}}
}
5、我们用这个方法再输出一下array[0]😀
public class Demo
{public static void main(String[] args) {int[][] array = {{1,2},{2,3},{3,4},{4,5}};printArrays(array[0]);}public static void printArrays(int[] arrays){for (int i = 0; i < arrays.length; i++){System.out.print(arrays[i]+"\t");}}
}
1 2进程结束......
6、我们再来用正常方式输出一下二维数组中的元素。
public class Demo
{public static void main(String[] args) {int[][] array = {{1,2},{2,3},{3,4},{4,5}};System.out.println(array[0][0]);System.out.println(array[0][1]);}
}
我们可以看到,因为定义的是二维数组,如果只输出一维数组,程序会默认输出的是一个对象,如果输出的也是二维数组,就可以正常输出。
1
2进程结束.......
二、多维数组
我们上面了解了二维数组,同理,我们直接展示三维数组😀
public class Demo
{public static void main(String[] args) {int[][] array = {{{1,2},{2,3}},{{3,4},{4,5}}};System.out.println(array[0][0][0]);System.out.println(array[0][0][1]);}
}
我们执行以代码,可以看到,输出的结果。
1
2进程结束.......
四维数组也是同理,都是依次叠加的。
我们也可以直接输出以下数组的长度,这样更加便于理解😀
public class Demo
{public static void main(String[] args) {int[][] array = {{{1,2},{2,3}},{{3,4},{4,5}}};System.out.println(array.length);System.out.println(array[0].length);System.out.println(array[0][0].length);}
}
我们执行以代码,可以看到,输出的结果。
2
2
2
三、循环输出多维数组
我们之前写过输出一位数组中元素的方法,我们下面来写一个输出多维数组的方法
public class Demo
{public static void main(String[] args) {int[][] array = {{1,2},{2,3},{3,4},{4,5}};for(int i = 0; i<array.length;i++) //循环先输出外层{for(int j = 0; j<array[i].length;j++) //嵌套循环输出里层System.out.print(array[i][j]+"\t");}}
}
我们执行以下上述代码,输出的结果就是遍历了二维数组中的元素。
1 2 2 3 3 4 4 5 进程结束.......
总结
我们在日常生活中写代码,其实二维数组已经完全够用了,但是学一个东西就要全面一些,多维数组在这里可以理解就好,后边的文章中我们会说到面向对象,这个是我们最常用,最本质,也是最关键的东西😀
RainBow Brackets
在这里像小伙伴们偷偷介绍一个Idea工具里面,好用的插件
这个插件可以,让我们的括号,大括号小括号区分颜色,可以让我们一眼就看出来位置,不至于偶尔误删了一个括号找不到在什么地方😊