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