继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

7-Java基础语法-数组之二维数组

慕的地10843
关注TA
已关注
手记 1081
粉丝 200
获赞 962

二维数组

所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。

那么如何使用二维数组呢,步骤如下:

  1. 声明数组并分配空间

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

或者分为两步:

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

具体到实际例子:

//定义一个两行三列的二维数组int[][] num=new int[2][3];
  1. 赋值

二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始

数组名[行的索引] [列的索引] = 值;

也可以在声明数组的同时为其赋值

数据类型[][] 数組名={ {值1,值2...}, {值11,值22...}, {值21,值22...} };

具体到实际的例子:

//给第1行第1列的元素赋值num[0][0]=12;
  1. 处理数组

二维数组的访问和输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。如:

package cn.mtianyan;public class ArrayTwo {    public static void main(String[] args) {        // 定义一个两行三列的二维数组并赋值
        int[][] twoArray = {{1,2,3},{4,5,6}};        for (int i=0;i<twoArray.length;i++){            // 每行的元素
            for (int j=0;j<twoArray[i].length;j++){
                System.out.print(twoArray[i][j]);
            }
            System.out.println();
        }
    }
}

运行结果:

5c137e5b0001ac6d03470100.jpg

需要了解的:在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。如果每行的列数不同,则创建的是不规则的二维数组,如下所示:

package cn.mtianyan;public class ArrayTwoIrregular {    public static void main(String[] args) {        int[][] irregularArray = new int[2][]; //这里的2是数组容量
        // irregularArray[0] = new int[2];
        // irregularArray[1] = new int[3];
        // irregularArray[0][1] = 3;

        irregularArray[0] = new int[]{1, 2};
        irregularArray[1] = new int[]{1, 2, 3};        for (int i=0;i<irregularArray.length;i++){            for (int j=0;j<irregularArray[i].length;j++){
                System.out.print(irregularArray[i][j]);
            }
            System.out.println();
        }
    }
}

5c137e5c0001302803540090.jpg

编程任务

功能要求:定义一个两行三列的二维数组 names并赋值,使用二重循环输出二维数组中的元素。

运行结果:

5c137e5c00012b5001040167.jpg

package cn.mtianyan;public class ArrayTwoExercise {    public static void main(String[] args) {        // 定义两行三列的二维数组并赋值
        String [][] names={{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};        for (int i=0;i<names.length;i++){            for (int j=0;j<names[i].length;j++){
                System.out.println(names[i][j]);
            }
            System.out.println();
        }
    }
}

运行结果:

5c137e5c0001805f03640224.jpg



作者:天涯明月笙
链接:https://www.jianshu.com/p/a5821c09799d


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP