关于java的多维数组

关于java的多维数组

在前面的文章中,我们了解了数组的使用,我们之前所了解的数组是一维数组,本篇文章我们来了解一下二维数组,多维数组

一、二维数组

  • 首先我们知道一维数组的声明和创建的方式是。
int array = new int[数组的长度];
  • 二维数组的声明和创建方式是这样的。
int array[][] = new int[2][3]; //这里的长度只是用于举例。
  • 二维数组其实可以看成,是数组的数组,二维数组就是一个特殊的一维数组,每个元素都是一个一维数组。

关于java的多维数组_第1张图片

  • 解析:上述的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工具里面,好用的插件

关于java的多维数组_第2张图片

这个插件可以,让我们的括号,大括号小括号区分颜色,可以让我们一眼就看出来位置,不至于偶尔误删了一个括号找不到在什么地方

你可能感兴趣的:(java,算法,开发语言)