1. 数组
数组(array)是一种用于存储多个相同类型数据的存储模型
2. 格式
数据类型[] 变量名 如:
int[] arr
定义了一个int类型的数组,数组名是arr
数据类型 变量名[] 如:
int arr[]
定义了一个int类型的变量,变量名是arr数组
3. 数组初始化
java中的数组必须先初始化,然后才能使用
所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
4. 动态初始化
初始化时只指定数组长度,由系统为数组分配初始值,默认值为0
格式:
数据类型[] 变量名 = new 数据类型[数组长度];
int[] arr = new int[3];
5. 数组元素访问
数组变量访问方式
格式:数组名
数组内容保存的数据的访问方式
格式:数组名[索引]
索引是数组中数据的编号(下标)
6. 内存分配
数组在初始化时,会为存储空间添加默认值
整数:默认值0
浮点数:默认值0.0
布尔值:false
字符串:默认为空字符
引用数据类型:默认值是null
栈内存:存储局部变量
即定义在方法中的变量,例如:arr 使用完毕,立即消失
堆内存:存储new出来的内容(实体,对象)
数组在初始化时,会为存储空间添加默认值
每个new出来的东西都有一个地址值,使用完毕,会在垃圾回收器空闲时被回收
7. 静态初始化
初始化时指定每个数组元素的初始值,由系统决定数组长度
格式:数据类型[] 变量名 =new 数据类型[]{数据1,数据2,…};
int[] arr = new int[]{1,2,3}
简化格式:数据类型[]变量名 ={数据1,数据2,…};
int[] arr ={1,2,3}
8. 数据操作中的注意事项
- 索引越界 即下标超长数组的长度
- 空指针异常 访问的数组已经不再指向堆内存的数据,造成空指针异常 即修改了原arr的内存为null,null为空值,为引用数据类型的默认值,表示不指向任何有效对象
9. 获取数组元素数量
格式:数组名.length
arr.length
获取的是元素数量
10. 获取最值
使用遍历和if语句来实现
定义一个缓存变量起始值为数组的第0个,因为数组遍历从第0个开始遍历
if 判断循环遍历的元素进行 比较运算 符合条件则赋值给缓存变量
循环一直到结束,输出缓存变量