【视频+图文新手也友好】二维数组详解+例题(内…

2020-03-20 16:04:25来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

【视频+图文新手也友好】二维数组详解+例题(内含练习题彩蛋喔~)

目录

  • 一、视频讲解
  • 二、多维数组的介绍
  • 三、多维数组的使用(以二维数组为例)
    • (一)静态初始化——指定数组内容
    • (二)动态初始化——指定数组长度
  • 四、二维数组的遍历
  • 五、练习题彩蛋

总是让二维数组绕迷糊该怎么办?
快和小乔一起来用一个超具体、好理解的例子一起学习吧~
保证让你看后收获满满!!

一、视频讲解

点击这里即可去B站观看

二、多维数组的介绍

  • Java中所谓的多维数组实际上是由一维数组嵌套而成
  • 一维数组的元素是另外一个一维数组时则称为二维数组
  • 以此类推,一维数组的多次嵌套就构成了二维数组

三、多维数组的使用(以二维数组为例)

(一)静态初始化——指定数组内容

以下面图片为例子,便于大家理解

在这里插入图片描述

1.一般格式:

数据类型 [ ] [ ] 数组名称 = new 数据类型 [ ] [ ] {{元素1,元素2,......},{元素1,元素2,......},{......}};
eg:String [ ] [ ] wodeaidou = new String [ ] [ ] {{"易烊千玺","男"},{"小乔","女"},{"小乔1","女"},{"小乔2","女"},{"小乔3","女"}};

2.简便格式:

数据类型 [ ] [ ] 数组名称 ={{元素1,元素2,......},{元素1,元素2,......},{......}};
eg:String
[ ] [ ]** wodeaidou ={{"易烊千玺","男"},{"小乔","女"},{"小乔1","女"},{"小乔2","女"},{"小乔3","女"}}**;

(二)动态初始化——指定数组长度

以下面图片为例子,便于大家理解

在这里插入图片描述
在这里插入图片描述
eg:String [ ] [ ] wodeaidou = new String [5] [4];

在这里插入图片描述
eg:String [ ] [ ] wodeaidou = new String [5] [ ];

四、二维数组的遍历

1.代码:

package Sort;

public class ArrayExerciseT {

    public static void main(String[] args) {
        String wodeaidou[][] = new String[5][2];// 创建5个一维数组,每一一维数组中存放2个元素
        wodeaidou[0][0] = "易烊千玺";
        wodeaidou[0][1] = "男";
        wodeaidou[1][0] = "小乔";
        wodeaidou[1][1] = "女";
        wodeaidou[2][0] = "小乔1";
        wodeaidou[2][1] = "女";
        wodeaidou[3][0] = "小乔2";
        wodeaidou[3][1] = "女";
        wodeaidou[4][0] = "小乔3";
        wodeaidou[4][1] = "女";
        for (int i = 0; i < wodeaidou.length; i++) {// 遍历一维数组的个数即wodeaidou.length为5(行数)
            for (int j = 0; j < wodeaidou[i].length; j++) {// 遍历每个一维数组中元素的个数即wodeaidou[i].length为2(列数)
                System.out.print(wodeaidou[i][j]);// 每遍历一次输出一次
            }
            System.out.println();
        }
    }
}

2.讲解

(1)执行 String wodeaidou[][] = new String[5][2]; 后结果如下图:

(因为此时没有初始化,所以存储的是String类型数组的默认值null)
在这里插入图片描述

(2)执行下面代码,执行完后得到如下图片:

        wodeaidou[0][0] = "易烊千玺";
        wodeaidou[0][1] = "男";
        wodeaidou[1][0] = "小乔";
        wodeaidou[1][1] = "女";
        wodeaidou[2][0] = "小乔1";
        wodeaidou[2][1] = "女";
        wodeaidou[3][0] = "小乔2";
        wodeaidou[3][1] = "女";
        wodeaidou[4][0] = "小乔3";
        wodeaidou[4][1] = "女";

结果:

在这里插入图片描述

(3)遍历数组:

i = 0 i < wodeaidou.length(即i<5) j=0 j < wodeaidou[0].length(即j<2) 输出wodeaidou[0] [0]即"易烊千玺"
i = 0 i < wodeaidou.length(即i<5) j=1 j < wodeaidou[0].length(即j<2) 输出wodeaidou[0] [1]即"男"
i = 1 i < wodeaidou.length(即i<5) j=0 j < wodeaidou[1].length(即j<2) 输出wodeaidou[1] [0]即"小乔"
i = 1 i < wodeaidou.length(即i<5) j=1 j < wodeaidou[1].length(即j<2) 输出wodeaidou[1] [1]即"女"
i = 2 i < wodeaidou.length(即i<5) j=0 j < wodeaidou[2].length(即j<2) 输出wodeaidou[2] [0]即"小乔1"
i = 2 i < wodeaidou.length(即i<5) j=1 j < wodeaidou[2].length(即j<2) 输出wodeaidou[2] [1]即"女"
i = 3 i < wodeaidou.length(即i<5) j=0 j < wodeaidou[3].length(即j<2) 输出wodeaidou[3] [0]即"小乔2"
i = 3 i < wodeaidou.length(即i<5) j=1 j < wodeaidou[3].length(即j<2) 输出wodeaidou[3] [1]即"女"
i = 4 i < wodeaidou.length(即i<5) j=0 j < wodeaidou[4].length(即j<2) 输出wodeaidou[4] [0]即"小乔3"
i = 4 i < wodeaidou.length(即i<5) j=1 j < wodeaidou[4].length(即j<2) 输出wodeaidou[4] [1]即"女"

(4)输出结果:

在这里插入图片描述

(5)总结:

  • 二维数组的遍历需要使用双重for循环
  • 第一个for循环得到一维数组的个数(即行数)
  • 第二个for循环得到每个一维数组中存放的元素的个数(即每行的列数)
for (int i = 0; i < wodeaidou.length; i++) {// 遍历一维数组的个数即wodeaidou.length为5(行数)
            for (int j = 0; j < wodeaidou[i].length; j++) {// 遍历每个一维数组中元素的个数即wodeaidou[i].length为2(列数)

五、练习题彩蛋

在这里插入图片描述
推荐你看:

  • 【视频+图文新手也友好】Java一维数组详细讲解(内含练习题答案+详解彩蛋喔~)点击这里即可查看
  • 【视频+图文新手也友好】Java ++i(前自增)和i++(后自增)用法详解点击这里即可查看
  • 双重for循环【视频+图文】讲解传输门:点击这里即可查看

  • 带continue语句的双重for循环【视频+图文】讲解传输门:点击这里即可查看
  • 带break语句的双重for循环【视频+图文】讲解传输门:点击这里即可查看

  • 【你需要的各种数据类型转换,这里都有~】传输门:点击这里即可查看

  • 新手友好型Eclipse快捷键大全(解密为什么他们的代码写的又快又好~)

  • 【视频+图文】新手友好型Java return语句用法

如果你觉得这篇文章还不错,麻烦帮我点个赞鸭!可以让更多人看到这篇文章。让我有动力继续更技术文~


原文链接:https://www.cnblogs.com/Qpgshare/p/12529773.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:import org.junit.Test 导入失败 @Test JUnit4单元测试找不到

下一篇:rpc框架dubbo学习入门及环境搭建(spring boot+Kotlin)