04.数组
数组定义
- 数组是相同类型数据的有序集合
- 数组描述的是相同类型的若干个数据,按照一定的先后顺序排列组合而成
- 每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问
数组的声明创建
- 首先声明数组变量
dataType[] arrayRefVar;
- java使用new操作符来创建数组
dataType[] arrayRefVar = new dataType[arraySize];
- 数组的元素是通过索引访问的,从0开始
- 获取数组长度:
arrays.length
内存分析
- 堆
- 存放new的对象和数组
- 可被所有线程共享,不会存放别的对象引用
- 栈
- 寻访基本变量类型(包含具体数值)
- 引用对象的变量(存放具体地址)
- 方法区
- 可被所有线程共享
- 包含了所有class和static变量
三种初始化
- 静态初始化
int[] a = {1, 2, 3};
Man[] mans = {new Man(1, 1), new Man(2, 2)};
- 动态初始化
int[] a = new int[2];
a[0] = 1;
a[1] = 2;
- 默认初始化
数组是个引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中每个元素也被按照实例变量同样的方式被隐式初始化
4个基本特点
- 长度确定。一旦创建,大小不可改变
- 元素必须是相同类型
- 元素可以是任何数据类型,包括基本类型和引用类型
- 数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组对象本身是在堆中的。
数组使用
- For-Each循环
- 数组作方法入参
- 数组作为返回值
多维数组
矩阵
Arrays类
数组的工具类java.util.Arrays