1. 数组

数组(array)是一种用于存储多个相同类型数据的存储模型

2. 格式

数据类型[] 变量名 如:

  1. int[] arr

定义了一个int类型的数组,数组名是arr

数据类型 变量名[] 如:

  1. int arr[]

定义了一个int类型的变量,变量名是arr数组

3. 数组初始化

java中的数组必须先初始化,然后才能使用

所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值

4. 动态初始化

初始化时只指定数组长度,由系统为数组分配初始值,默认值为0

格式:

数据类型[] 变量名 = new 数据类型[数组长度];

  1. 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. 数据操作中的注意事项

  1. 索引越界 即下标超长数组的长度
  2. 空指针异常 访问的数组已经不再指向堆内存的数据,造成空指针异常 即修改了原arr的内存为null,null为空值,为引用数据类型的默认值,表示不指向任何有效对象

9. 获取数组元素数量

格式:数组名.length

  1. arr.length

获取的是元素数量

10. 获取最值

使用遍历和if语句来实现

定义一个缓存变量起始值为数组的第0个,因为数组遍历从第0个开始遍历

if 判断循环遍历的元素进行 比较运算 符合条件则赋值给缓存变量

循环一直到结束,输出缓存变量