数组
1 数组是什么
数组是一个可以存储多个相同数据类型的容器
2 初始化格式
2.1 静态初始化
2.1.1 概念
创建数组的时候就直接把元素存放到数组中,固定长度和元素
2.1.2 定义格式
1)数据类型[] 数组名 = new 数据类型[]{元素, 元素....}
2)数据类型[] 数组名 = {元素, 元素....}
2.1.3 使用场景
明确要存储的数据的时候
2.2 动态初始化
2.2.1 概念
在创建数组的时候,只指定数组的长度,不指定具体的元素
2.2.2 定义格式
数据类型[] 数组名 = new 数据类型[长度]
2.2.3 使用场景
当不明确具体数组元素的时候
3 访问数组
3.1 访问数组的名字
得到的数组在堆内存的一个地址值
注意:数组变量名中存储的是数组在内存中的地址,数组是一种引用数据类型,不同于变量可以直接使用,获取数组中的数据应使用: 数组名[索引].
3.2 访问数组的元素
数组名[索引], 索引是给数组的元素进行编号,从0开始,连续的,每次+1. 如果超过了有效索引位数,则会报错,程序不执行
3.3 访问数组最后一个元素
1) 数组的长度:数组名.length
2) 最大索引:数组的长度 - 1
3) 数组名[数组的长度 - 1]
3.4 访问数组异常
当数组索引超出越界范围时,会产生ArrayIndexOutOfBoundsException异常
4 遍历数组
for(int i = 0 ; i < 数组名.length ; i++) {
i --> 代替索引, i = 0, 1, 2, ...数组名.length-1
数组名[i] --> 数组的每一个元素
}
//数据.sout可快速打印数组
//数组名.fori可快速遍历
5 内存区
5.1方法区
存放是 字节码文件【class文件】
5.2 栈内存
它是方法运行的内存。里面还包含我们方法运行局部变量
5.3 堆内存
它就是用来存放 new出来的数据(生成的对象)