欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

二维数组初始化和遍历

程序员文章站 2024-03-16 12:55:04
...

二维数组示意图

  /*
   *   1  2  3
   *   4  5  6
   */

二维数组定义:有行有列的数组,每获取一个元素值,都需要两个坐标点。 

若将一维数组比作在数轴上排序,则二维数组则是在坐标轴上分布。

二维数组可以称作是数组(一维)的数组

二维数组中的一行就是一个一维数组

二维数组的定义和初始化

数据类型[ ][ ] 数组名 = new 数据类型[行数][列数]

int[ ][ ] array = new int[3][4];

二维数组动态初始化

int[][] array = new int[3][4];

array[0][1]= 1;

array[0][1] = 2;

array[0][2] = 3;

array[0][3] = 4;

二维数组一次为一行赋值,每一行都是一个一维数组

//二维数组名[行号];获取了二维数组中一行的数据(一维数组)

array[1] = new int[]{5,6,7,8};

array[2] = new int[]{9,10,11,12};

二维数组的静态初始化

int[][] arr = {{1,2},{3,4,5},{6,7}}; 

 二维数组初始化(动静结合)

 int[][] arra = new int[][]{{1,2}};

 二维数组的遍历

注意:在一维数组中array.length表示数组的长度

          在二维数组中array.length表示二维数组中的行数

for(int i = 0;i< array.length;i++){
    //内侧循环遍历该行的每一列
    int[] tmp = array[i];
    for (int j=0;j< tmp.length;j++){
        System.out.print(tmp[j]+" ");
    }
    System.out.println();
}
//增强for循环的二维数组遍历
for (int[] tmp:array) {
    for (int w:tmp) {
        System.out.print(w+" ");
    }
    System.out.println();
}

二维数组的练习 

要求输出如下

/*

 * 1

 * 1 1

 * 1 1 1

 * 1 1 1 1

 */

 


int[][] b =new int[4][];
//        System.out.println(b[0]);
//        //由于每一行都是一个null,所以才需要先给行开辟新空间
//        //b[0][0]=1;
//        b[0] = new int[1];
//        b[0][0] = 1;
//        b[1] = new int[2];
//        b[1][0] = 1;
//        b[1][1] = 1;
//        b[2] = new int[]{1,1,1};
//        b[3] = new int[]{1,1,1,1};
//        b[2][2] = 4;//改变二维数组中元素的值
//        for(int[] tmp_2:b){
//            for (int q:tmp_2){
//                System.out.print(q+" ");
//            }
//            System.out.println();
//        }