在前面的文章中,我们了解了数组的使用,我们之前所了解的数组是一维数组,本篇文章我们来了解一下二维数组,多维数组
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
进程结束.......
我们在日常生活中写代码,其实二维数组已经完全够用了,但是学一个东西就要全面一些,多维数组在这里可以理解就好,后边的文章中我们会说到面向对象,这个是我们最常用,最本质,也是最关键的东西
在这里像小伙伴们偷偷介绍一个Idea工具里面,好用的插件
这个插件可以,让我们的括号,大括号小括号区分颜色,可以让我们一眼就看出来位置,不至于偶尔误删了一个括号找不到在什么地方