java二维数组的定义和使用 - 综合 -

当前位置:首页  >  综合  > 正文

java二维数组的定义和使用

java二维数组的定义和使用
2023-03-21 17:46:26 来源:IT千锋教育

前言

在前几篇文章中,壹哥给大家介绍了Java里的一维数组,涉及到了数组的创建初始化、数组遍历、拷贝、扩容、排序、查找等核心内容,这些内容都是数组中的重点,壹哥希望大家要在这些知识点上多付出点时间和精力。但是我们知道,除了有一维数组之外,还有二维数组和多维数组,这些内容同样很重要。所以今天壹哥就在一维数组的基础上,继续给大家讲解多维数组的内容。

-------------------------前戏已做完,精彩即开始-----------------------


【资料图】

全文大约【3000】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图,让你更好地理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......

一. 多维数组

1. 概念

多维数组可以看成是数组的数组。比如二维数组就是一个特殊的一维数组,它的每个元素都是一个一维数组。其他多维数组的概念,大家可以参照二维数组以此类推。

2. 分类

多维数组可以分为:

● 二维数组;

● 三维数组;

● 其他数组;

其实我们在开发时,真正常用的数组也就是一维数组和二维数组,更多维度的数组很少使用。所以接下来在本篇文章中,壹哥主要是给大家讲解二维数组相关的内容。

二. 二维数组

1. 概念

二维数组就是一种数组的数组,其本质上还是一个一维数组,只是它的数据元素又是一个一维数组。如果你对这个概念想象不出来,壹哥给大家举个栗子,相信吸烟的同学一下子就会明白。

一根烟 = 一个变量

一包烟 = 20根烟 = 一维数组

一条烟 = 10包烟 = 二维数组

也就是说,我们买的”一条烟“,就是一种”二维数组“,明白了吧?

2. 定义

定义二维数组的基本语法如下:

定义方式一:

元素类型[][] 数组名称;

定义方式二:

元素类型 数组名称[][];

在开发时,第一种定义方式更常用一些。这是数组的定义,我们还要对数组进行初始化。二维数组在初始化时,也分为动态初始化和静态初始化两种情况。我们可以把数组的定义和初始化在多条语句中分开完成,也可以直接放在一个语句中完成。

3. 初始化

3.1 动态初始化

二维数组进行动态初始化时,语法格式如下:

元素类型[][] 数组名称 = new 元素类型[二维数组的长度][一维数组的长度];

例如:

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

在上述示例中,表示我们定义了一个整型的二维数组arr。3表示在二维数组中有3个一维数组,每个一维数组就是一行;4表示每个一维数组中有4个数据元素,这样就形成了二维数组的4列。这样我们就可以把这个二维数组arr看成是一个3行4列的数组或矩阵,访问二维数组中的某个元素时,需要使用arr[row][col]的形式。所以二维数组中,总的元素个数最多有3*4=12个。

以下是动态初始化的案例代码。

注意:我们在对二维数组进行动态初始化时,必须先指定出二维数组的长度,但一维数组的长度可以后续使用前再单独指定。

3.2 静态初始化

二维数组中,每个一维数组的长度并不要求相同,可以各不相同。二维数组进行静态初始化时,语法格式如下:

元素类型[][] 数组名称 = new 元素类型[][]{{一维数组1,一维数组2,一维数组3....};

例如:

int[][] arr = new int[][]{{2,3},{5,2,1},{10,45,22,54}};

但是这种方式的语法显得有些啰嗦,所以在实际开发时,我们一般是采用简化的静态初始化方式,如下所示:

元素类型[][] 数组名称 =m{{一维数组1,一维数组2,一维数组3....};

例如:

int[][] arr = {{2,3},{5,2,1},{10,45,22,54}};

以下是静态初始化的案例代码。

以上是定义和初始化二维数组的基本案例,为了加深大家对二维数组的理解,接下来壹哥再设计几个代码案例,巩固二维数组的用法。

4. 扩展案例

4.1 动态初始化的变形写法

如果我们在定义二维数组时,没有给定一维数组的长度,那么在使用数组之前,一定要先对一维数组进行初始化。否则,此时如果直接使用一维数组,就会产生空指针异常java.lang.NullPointerException。

arr[0]=new int[2] 和 arr[1]=new int[1]是在为最高维分配引用空间,也就是限制了最高维能保存数据的最大长度。

4.2 遍历二维数组

因为二维数组中包含若干个一维数组,我们之前遍历一维数组时要使用一个循环,所以我们对二维数组进行遍历时就要使用嵌套的双重循环。当然,for/while/foreach等循环都可以使用。

5. 内存分析

对于一个二维数组来说,比如int[][] array={{10,0,0,20,0},{0,30,40,0,0},{0,0,0,0,0}};这个二维数组的结构如下图所示:

array[0]会获取array数组的第1个元素,因为array数组的每个元素都是一个一维数组,因此array[0]指向的数组就是{ 10, 0, 0, 20, 0 },其他的以此类推。

高维数组中的每个数据元素,保存的是低位数组的首地址。所以我们访问array[0]就相当于是在访问二维数组中的第一个一维数组的首地址,这样就可以得到第一个一维数组。

三. 多维数组

理论上,在Java中我们可以定义出任意维度的数组。但高于二维的多维数组,在实际开发中很少使用,大家知道Java中支持这种数据结构即可。如果你感兴趣,可以尝试着自己构造一个三维数组出来,壹哥就不在这里过多讲解啦,可以参考如下:

----------------------正片已结束,来根事后烟---------------------

至此,壹哥就把二维数组的内容给大家介绍完了,现在你知道如何使用二维数组了吗?二维数组的定义、动态和静态初始化、内存分析都是今天的重点,大家要牢牢掌握哦。

在下一篇文章中,壹哥会给大家讲解Java里的可变参数,敬请期待哦。另外如果你独自学习觉得有很多困难,可以加入壹哥的学习互助群,我们一起交流学习。

六. 今日作业

1. 第一题

利用二维数组,打印出一个杨辉三角形来。

相关推荐:

数组排序与二分查找法

数组扩容与数组拷贝图文案例详解

一维数组的使用方法详解

java中foreach循环用法详解

想了解更多精彩内容,快来关注IT千锋教育

标签:

(责任编辑:news01)
上海机场大巴时刻表2023(线路+站点+票价+电话)-世界最新

上海机场大巴时刻表2023(线路+站点+票价+电话)-世界最新

2023上海机场大巴时刻表(更新时间:2023年3月13日)线路起讫站首末班时间主要停靠站班次间隔票价咨询电话...
03-13 15:01:17
环球热门:糖果游戏浏览器极速版_为什么我用糖果游戏浏览器进不去游戏了

环球热门:糖果游戏浏览器极速版_为什么我用糖果游戏浏览器进不去游戏了

1、其实装机的时候有个自带的IE浏览器玩游戏是最好的,占用内存少,插件少。2、我给你推荐火狐浏览器,...
03-13 12:34:50
不到结婚年龄生孩子是不是要罚款

不到结婚年龄生孩子是不是要罚款

一、不到结婚年龄生孩子是不是要罚款不到结婚年龄生孩子不用罚款,男女双方必须满足最基本的结婚年龄,...
03-13 10:15:10
50天,票房破40亿,致敬《流浪地球2》,也致敬“新中国电影” 环球观点

50天,票房破40亿,致敬《流浪地球2》,也致敬“新中国电影” 环球观点

50天,票房破40亿,致敬《流浪地球2》,也致敬“新中国电影”
03-13 08:03:28
优酷 爱奇艺 腾讯对比_爱奇艺腾讯优酷哪个好 每日速看

优酷 爱奇艺 腾讯对比_爱奇艺腾讯优酷哪个好 每日速看

1、电影爱好者,个人感觉爱奇艺最好!现在爱奇艺和腾讯的画质差不多,电影资源量来说,爱奇艺要多些。2...
03-13 03:04:28
投资350亿元!内蒙古拟建公路1万公里

投资350亿元!内蒙古拟建公路1万公里

3月12日,记者从内蒙古全区交通运输工作会议上获悉,2023年,全区计划完成投资350亿元,力争开工建设公...
03-12 21:01:21
天力锂能将与叶城县开展锂矿山、选厂、锂盐加工厂、锂电池材料等方面合作投资-当前关注

天力锂能将与叶城县开展锂矿山、选厂、锂盐加工厂、锂电池材料等方面合作投资-当前关注

天力锂能(301152 SZ)公告,公司(乙方)与叶城县人民政府(甲方)签署《合作框架协议》,与当地资源方在锂...
03-12 17:33:56
国家医保局:不得随意限制民营医院纳入医保定点_当前热议

国家医保局:不得随意限制民营医院纳入医保定点_当前热议

3月5日,国家医保局网站发布对十三届全国人大五次会议第0632号建议的答复。就规范民营医院医保定点管理...
03-12 13:51:50
碳酸根化合价_碳酸根 每日讯息

碳酸根化合价_碳酸根 每日讯息

1、温情解说之《釜山行》:明知山有釜。2、偏向釜山行高清(480P)。本文分享完毕,希望对大家有所帮助。
03-12 10:05:54
拼多多生意参谋官网_拼多多生意参谋

拼多多生意参谋官网_拼多多生意参谋

1、多多情报通就是拼多多的生意参谋啊!原名是叫多多参谋。2、比如你想看商品排名和店铺的排名还有商品...
03-12 04:54:56
云脉异闻录:火城青峰 第五十五章 亮相一战-世界热文

云脉异闻录:火城青峰 第五十五章 亮相一战-世界热文

前线,秋静安盘在一片草地上,秋资阳坐在三人面前。一身橙色皮衣,头戴护目镜,腰间别着一圈工具,像是...
03-11 23:07:49
【报资讯】手上动脉在哪要具体一点_手上动脉在哪要具体

【报资讯】手上动脉在哪要具体一点_手上动脉在哪要具体

1、手上的动脉由两个动脉弓组成,即掌深弓和掌浅弓。2、掌浅弓是通过吻合尺动脉的远端和桡动脉的浅支形...
03-11 18:55:12
特雷-杨28+9比尔27+6 老鹰客擒奇才迎来两连胜

特雷-杨28+9比尔27+6 老鹰客擒奇才迎来两连胜

央视网消息:北京时间3月11日,NBA常规赛,老鹰客场114-107力克奇才,迎来两连胜。老鹰队特雷-杨28分9助...
03-11 14:56:41
有关于小丑的伤感句子 天天看点

有关于小丑的伤感句子 天天看点

1、你会成为一个安静的成年人。不要感情用事,不要偷偷想念,不要回头。过自己的另一种生活。听话,不是...
03-11 13:45:14
保级大戏早早开始?英超第12与垫底球队之间积分只相差6分

保级大戏早早开始?英超第12与垫底球队之间积分只相差6分

保级大戏早早开始?英超第12与垫底球队之间积分只相差6分,英超,曼城,阿森纳,保级大戏,伯恩茅斯队
03-11 11:16:38
王者荣耀:她有“双形态7技能”,怎么成了难得一见的“传说”?

王者荣耀:她有“双形态7技能”,怎么成了难得一见的“传说”?

“长城耸立,你们活着。长城倒下,你们去死。”这是对守卫长城的新兵所说的话。连绵不绝的长城横卧在北...
03-11 08:01:25
世界头条:尿不净是怎么回事

世界头条:尿不净是怎么回事

1、尿不尽是一个医学名词,指尿路感染的典型症状,前列腺炎的主要排尿症状表现之一。2、从肾盂到尿道外...
03-11 07:48:21
今日热搜:1010008是什么电话号码_10101800是个什么号码

今日热搜:1010008是什么电话号码_10101800是个什么号码

1、一般这种电话号码的话。2、可能是骚扰电话或者网络电话这种电话号码你最好不要接听。本文就为大家分...
03-11 05:12:18
好样的!网球巨星吴易昺逆转击败纳达尔同胞,第二盘比分很侮辱人|当前看点

好样的!网球巨星吴易昺逆转击败纳达尔同胞,第二盘比分很侮辱人|当前看点

3月9日,印第安威尔斯网球大师赛结束了正赛首轮的一场较量,结果23岁的中国男子网球巨星吴易昺以2-1逆转...
03-10 17:44:22
天天资讯:大法师克希雷姆在哪里_大法师克希雷姆在

天天资讯:大法师克希雷姆在哪里_大法师克希雷姆在

1、艾撒拉注意有一个血精灵NPC头上有一个蓝色的问号(这个NPC距离BL的小基地不远的 )
03-10 16:39:45
【环球热闻】氧氟沙星滴眼液效果好吗多久_氧氟沙星滴眼液效果好吗

【环球热闻】氧氟沙星滴眼液效果好吗多久_氧氟沙星滴眼液效果好吗

1、氧氟沙星滴眼液是一种广谱抗生素,对细菌感染引起的眼科疾病有较好的疗效,能较好地抑制细菌的复制和...
03-10 15:57:46
小度在家1c安装app方法(小度在家1c安装软件)-全球通讯

小度在家1c安装app方法(小度在家1c安装软件)-全球通讯

1、小度在家1c在系统更新到1 24版本后已不支持安装第三方软件,如果您的小度在家没有更新系统可以尝试O...
03-10 13:06:42
梦幻西游五开诗名_梦幻西游五开诗意名字

梦幻西游五开诗名_梦幻西游五开诗意名字

1、浅’情若梦 り画浅景 り落陌兮 り醉相思 り粉黛颜 り落’画浅景 り竟’落陌兮 り魅’醉相思 り裳’粉黛颜
03-10 11:17:29
瑞星股份过会:今年IPO过关第43家 华西证券过首单

瑞星股份过会:今年IPO过关第43家 华西证券过首单

500)this width=500 "align= "center "hspace= "10 "vspace= "10 "rel= "nofollow ">北京3月10
03-10 10:55:31
美媒:马斯克计划在得州打造一个自己的城镇,已购入数千英亩牧场和农田

美媒:马斯克计划在得州打造一个自己的城镇,已购入数千英亩牧场和农田

App3月10日消息,据华尔街日报消息,根据地契、其他土地记录和知情人士,马斯克在得州首府奥斯汀外新购...
03-10 08:58:20
天天观焦点:探究稀缺诉求产品如何影响信息流广告效果,以提高消费者购买意愿

天天观焦点:探究稀缺诉求产品如何影响信息流广告效果,以提高消费者购买意愿

中国移动社交的用户规模庞大且呈现逐年增加的趋势,让营销从业人员看到了社交媒体潜在的巨大广告价值。...
03-10 06:06:37
明末清初思想家黄宗羲的思想主张_黄宗羲的思想主张

明末清初思想家黄宗羲的思想主张_黄宗羲的思想主张

1、黄宗羲的思想主张:提出“天下为主,君为客”的民主思想。2、黄宗羲的新民本思想集中体现在其1653年...
03-10 05:18:09
环球热门:德绒保暖内衣怎么样做领子_德绒保暖内衣怎么样

环球热门:德绒保暖内衣怎么样做领子_德绒保暖内衣怎么样

1、市面上自发热保暖内衣是采用了德绒、兰精再生纤维素纤维等高科技材料,可以将人体的温度更好地保存,...
03-10 01:03:21
每日热文:京东徐雷:“百亿补贴”对公司利润率影响非常低

每日热文:京东徐雷:“百亿补贴”对公司利润率影响非常低

京东徐雷:“百亿补贴”对公司利润率影响非常低:京东CEO徐雷在2023年业绩会上表示,(补贴)对于利润率影...
03-09 21:27:10
音乐视频提取器_利用《电影音乐提取机》提取视频中音频的方法步骤 动态焦点

音乐视频提取器_利用《电影音乐提取机》提取视频中音频的方法步骤 动态焦点

第一步。首先打开软件,找到软件界面左上角的“添加”按钮。我们点击该按钮进入文件添加页面。2 在文件...
03-09 19:54:44

为您推荐

精彩推送