编程语言
首页 > 编程语言> > Java学习随笔-二维数组

Java学习随笔-二维数组

作者:互联网

Java的二维数组

我们可以吧二维数组理解成为,原来的一维数组中的每一个元素里又存放了一个一维数组,然后就构成了二维数组。就是数组里面又套了一个数组

二维数组也类似于以前小时候学的二维直角坐标系(XY轴),每个X轴和Y轴对应的位置就是一个二维数组元素。

1、二维数组的定义

二维数组的定义和一维数组一样,也是要先声明后开辟内存空间才能使用

int[][] arr1;//声明
arr1 = new int[3][3]//再开空间

//声明和开辟空间写在一起:
//数据类型[][] 数组名 = new 数据类型[行数][列数]
int[][] arr = new int[6][6];//定义了一个6行6列的二维数组

2、二维数组的初始化

静态初始化

int[][] arr = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
//定义了一个二维数组,其中里面有4个一维数组,每个一维数组里面有4个元素
//也可以理解为定义了两个4行4列的二维数组

动态初始化

String[][] b=new String[10][10];//定义了一个二维数组,其中里面有10个一维数组,每个一维数组里面有10个元素
b[0]=new String[]{"刘备","关羽","张飞"};//第一行
b[1]=new String[]{"Java","PHP","c++"};//第二行

3、二维数组的遍历

//例子
public class demo01 {
    public static void main(String[] args) {
        //静态初始化
        int[][] a={{1,2,3,4},{4,5,6,7},{8,9,10,11},{10,11,12,13}};
       //遍历
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[i].length; j++) {
                //arr[i].length 相当于得到了 对应的 每个一维数组的长度,arr[i]就是拿到其中的一个一维数组的意思
                System.out.print(a[i][j]+" ");
            }
            System.out.println();//换行
        }
    }
}

4、关于二维数组的关键概念

int[][] arr = {{1,2,1,2,1,2},{3,4,3,4,3,4},{5,6,5,6,5,6},{7,8,7,8,7,8}}
System.out.println("二维数组的元素个数=" + arr.length);//arr.length = 4;
//输出结果
//二维数组的元素个数=4
//arr[1][1]表示第二行第二个元素

5、动态初始化-列数不确定

public class TwoDimensionalArray {
    public static void main(String[] args) {

        //创建 二维数组,一共有3个一维数组,但是每一个一维数组还没有开数据空间
        int[][] arr = new int[3][];//! ! 列数不确定 ! !
        /*
        要求输出数组:
        i=0: 1
        i=1: 2  2
        i=3; 3  3  3
        */
        for (int i = 0; i < arr.length; i++) {//遍历arr每个一维数组
            //给每个一维数组开空间 new
            //如果没有给一维数组 new,那么 arr[i]就是null
            arr[i] = new int[i + 1];

            //遍历一维数组,并给一维数组的每个元素赋值
            for (int j = 0; j < arr[i].length; j++) {
                arr[i][j] = i + 1;//赋值
            }
        }

        //遍历输出
        System.out.println("最终二维数组为:");
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }
    }
}

结果:

标签:arr,Java,一维,int,二维,数组,new,随笔
来源: https://www.cnblogs.com/YeJ1an/p/16685272.html