1.数组
存放一组相同数据类型的数
定义一个数组,在内存中申明一串连续的空间
2.描述数组的元素
- 数组名
- 数组类型
- 数组下标(下标从0开始)
- 数组元素
3.数组的长度一旦被定义,不能改变
4.使用数组四步走:
- 声明数组:
数据类型[] 数组名;
数据类型 数组名[];
- 分配数组空间
数组名 = new 数据类型[数组大小];
- 声明数组并分配空间
数据类型[] 数组名 = new 数据类型[数组大小];
数据类型 数组名[] = new 数据类型[数组大小];
- 给数组元素赋值
数组名[下标] = 数值;
- 使用
数据类型 变量= 数组名[0]+数组名[数组大小-1];
*注意事项:
1)第一元素: 数组名[0]
2)最后一个元素:数组名[数组大小-1]
3)数组被分配空间之后,都会有个默认值(根据数据类型有不同的默认值)
String - null
byte int short long --0
float double --0.0
boolean - false
char - ''*
5.批量赋值:
- 声明并赋值
数据类型[] 数组名 = {值1,值2,值3....};
数据类型[] 数组名 = new 数据类型[]{值1,值2,值3....};
- 循环赋值
循环体{
数组名[i] = 数值;
}
注意:创建数组并赋值,必须在同一条语句完成!
6.获取数组的长度
数组名.length
数组名[数组名.length] 会发生数组越界异常java.lang.ArrayIndexOutOfBoundsException
7.内存
寄存器:速度最快
- 存放临时参与计算的结果等
栈内存:速度紧次于寄存器,先进后出,后进先出
- 基本数据类型变量
- 数组名
- 引用数据类型的变量名
堆内存:速度慢,先进先出,后进后出
- 对象(具体的对象值)
- 数组(具体的数组元素)
8.GC - 垃圾回收器
栈内存和堆内存中变量失效的 ,垃圾回收器会自动回收