Java疯狂讲义--数组

一维数组

数组定义的格式

type [] arrayName;
理解:变量名是arrayName,变量类型是typep[]
注意:type[]是一种新类型,与type类型完全不同(类比:例如 int类型是基本类型,但int[]是引用类型)。

数组的初始化

初始化即是为数组的数组元素分配内存空间,并为每个数组元素赋初始值。
只要为数组元素分配了内存空间,数组元素就具有了初始值。初始值的获得有两种形式:一种由系统自动分配,一种由程序员指定。

静态初始化

初始化时由程序员显示指定每个数组元素的初始值,由系统决定数组长度。

格式:

arrayName = new type[]{element1,element2,element3...}

type就是数组元素的数据类型,此处的type必须与定义数组变量时所使用的type相同,也可以是定义数组是所指定的type的子类。值得注意的是:执行静态初始化时,显示指定的数组元素值的类型必须与new关键字后的type类型相同,或者是其子类的实例。
在这里插入图片描述
在上面程序中,String类型是Object类型的子类。

除此之外,静态初始化还有如下的简化格式:

type[] arrayName = {element1,element2,element3...}

注意:只有在定义数组的同时执行数组的初始化才支持使用简化的静态初始化。

在实际开发中,更习惯将数组定义和数组初始化同时完成。

int[] a = {5,6,7,8};

动态初始化

动态初始化只指定数组的长度,有系统为每个数组元素指定初始值。
格式:

arrayName = new type[length];

与静态初始化相似的是,此处的type必须与定义数组变量时所使用的type相同,也可以是定义数组是所指定的type的子类。
在这里插入图片描述
数组的默认初始值:
在这里插入图片描述
注意:不要同时使用静态初始化和动态初始化,也就是说不要再进行数组初始化时,既指定数组长度,也为每个元素分配初始值。

内存中的数组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关于上述代码的内存解析

在这里插入图片描述
在这里插入图片描述

基本数据类型数组的初始化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

引用类型数组的初始化

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
相同的效果

多维数组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值