文章目录
一、数组的简要概述
- 定义:数组(Array),是多个相同数据类型按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。
二、数组的常见概念
-
数组名
数组的名字,数组名即连续空间内存的首地址。
如:
-
下标(或索引)
即访问数组时需要使用的值,下标从0开始 -
元素
数组内存储的数据 -
数组的长度
数组内的元素个数 -
数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。
-
创建数组对象会在内存中开辟一块连续的内存空间,而数组名引用的是这块连续内存的首地址。
-
数组的长度一旦,就确定不能修改。
-
我们可以直接通过下标或索引的方式调用指定位置的元素,速度很快。
三、数组的分类
- 按照维度:一维数组、二维数组、三维数组、…
- 按照元素的数据类型分:基本数据类型元素的数组、引用数据类型元素的数组(即对象数组)
四、数组的基本使用方法
1.一维数组的使用
①.一维数组的声明和初始化
- 静态初始化:数组的初始化和数组的赋值操作同时进行
- 动态初始化:数组的初始化和数组的赋值操作分开进行
②.如何调用数组的指定位置元素:通过下标的方式调用
- 数组的下标从0开始,到数组的长度-1结束。
③.如何获取数组的长度
- 数组名.lenth的方式来实现
输出结果:
④.如何遍历一维数组
- 借用for循环遍历数组
输出结果:
⑤.一维数组元素的默认初始化值
- 数组元素是整型:默认为0
- 数组元素是浮点型:默认为0.0
- 数组元素是char型:默认为0或‘\u0000’,而不是’0’
- 数组元素是布尔类型:默认为false
- 数组元素是引用数据类型:默认为null
⑥.一维数组的内存解析
- Java中内存的简化结构:
一维数组在内存中的存储情况:
2.二维数组的使用
- 对二维数组的理解,可以看做是一维数组又做为另一个一维数组的元素而存在。
- 其实,从数组底层的运行机制来看,其实没有多维数组。
①.二维数组的声明和初始化
- 静态初始化:数组的初始化和数组的赋值操作同时进行
- 动态初始化:数组的初始化和数组的赋值操作分开进行
②.如何调用数组的指定位置元素:通过下标的方式调用
输出结果:
③.如何获取二维数组的长度:
- 求二维数组长度同样使用“数组名+.length”的方法来求,需要注意的是,直接“数组名+.length”的方法求得是外层数组的元素,想求内层数组的元素数量要在数组名后加下标的方式来求:array[1].length,
输出结果:
④.如何遍历二维数组:
- 二维数组的遍历要借用双层for循环的方式来进行遍历,外层for循环控制行(外层数组),内层for循环控制列(内层数组)。
输出结果:
⑤.二维数组的默认初始化值
- 二维数组的外层数组默认值是指向内层数组的首地址,内层数组的默认值随与数组的类型有关。
输出结果:
- 如果只动态初始化了二维数组的外层数组,此时内层数组还没有被初始化,外层数组默认值为null,内存数组则会报错,因为内层数组还没有被创建出来。
输出结果:
⑥.二维数组的内存解析:
3.对象数组
数组的元素可以是基本数据类型,也可以是引用数据类型。当元素是引用类型中的类时,我们称为对象数组。