二维数组基础

多维数组

  • 多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,二维数组的每一个元素都是一个一维数组。

  • 二维数组

    int a[][] = new int[2][5]; 
    /* a[0][]={1,2,3,4,5}
       a[1][]={6,7,8,9,10}
           a[0][0]=1 a[0][1]=2 a[0][2]=3 a[0][3]=4 a[0][4]=5
       int[2]------->a[0],a[1]到1
       int[5]------->a[0],a[1],a[2],a[3],a[4]到4
    1、a[0]里存放了数组{1,2,3,4,5},既然a[0]是数组,那就不能按照System.out.println(a[0]);的方法直接打印
    2、a[1]里存放了数组{6,7,8,9,10}
    */
    
    • 上面这个数组可以看成是一个两行五列的数组

一维数组可以看成找点

二维数组可以看成在直角坐标系中找到点(需要两个点)

三维数组可以看出在空间直角坐标系中找到一个点(需要三个点)


如何理解二维数组里的每一个元素都是一个一维数组

  • int [][]array = {{1,2},{2,3},{3,4},{4,5}};表示一个四行二列数组

    int[] array = new int[4][2]
    
    1,2     array[0]里存了数组1,2。即a[0][0]=1,a[0][1]=2
    2,3     array[1]里存了数组2,3。即a[1][0]=2,a[1][1]=3
    3,4     array[2]里存了数组3,4。
    4,5     array[3]里存了数组4,5。
    
package com.sgz.array;

public class ArrayDemo05 {
    public static void main(String[] args) {
        int [][]array = {{1,2},{2,3},{3,4},{4,5}};
        //如何打印出array[0]
        System.out.println(array[0]);//打印输出[I@7f31245a,是一个数组,我们需要打印数组元素的方法来打印此时的数组array[0]
        printArray(array[0]);//打印结果1 2
        //如何打印出array[0]的第[0]或[1]个元素
        System.out.println(array[0][0]);//此时可以直接打印,因为二维数组取出[0][0]是一个数,打印结果1
        System.out.println(array[0][1]);//此时可以直接打印,因为二维数组取出[0][1]是一个数,打印结果2
        //打印外层长度
        System.out.println(array.length);//4
        //打印里层长度
        System.out.println(array[0].length);//2
        //用嵌套循环把所有元素表示
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.print(array[i][j]+" ");
            }
            System.out.println( );
        }
    }
    public static void printArray(int[] arrays){
        for (int i = 0; i < arrays.length; i++) {
            System.out.print(arrays[i]+" ");
        }
    }
}
//结果
[I@7f31245a
1 2 1
2
4
2
1 2 
2 3 
3 4 
4 5 
posted @ 2022-08-04 10:59  来自土木的一员  阅读(53)  评论(0)    收藏  举报