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

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

    一、视频讲解

    点击这里即可去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(列数)
    

    五、练习题彩蛋

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

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

  • 相关阅读:
    音视频-x624和H.264
    状态机解决复杂逻辑及使用
    任意程序上的蒙版画笔实现
    WPF-3D圆柱体透视
    WPF-3D-Z-buffering 导致的遮盖物体不渲染问题
    WPF3D立方体图形展开动画思路
    解决Prism 8.0 I添加InvokeCommandAction xaml报错问题
    Spark编程基础(Python版)
    前端开发工具fscapture
    修改element ui select选择器 样式
  • 原文地址:https://www.cnblogs.com/Qpgshare/p/12529773.html
Copyright © 2011-2022 走看看