一、数组的含义
数组指的是一种容器,用来存储同种数据类型的多个值(结合隐式转换来考虑)
二、数组的定义与静态初始化
定义格式
第一种较常用
静态初始化
在内存中,为数组容器开辟空间,并将数据存入容器中的过程
PS:数组一旦定义,则无法改变长度
地址值
内存当中开辟一个空间,空间内存入数字,数组的地址值表示数组在内存的位置
三、元素访问
格式:数组名[索引]
索引
也叫做下标,角标
特点:从0开始,逐个+1增长,连续不间断
四、数组遍历
快速的自动生成数组的遍历方式:数组名.fori
PS:一个循环尽量只做一件事情
五、数组的动态初始化
初始化时只指定数组长度,由系统为数组分配初始值
数组默认初始化值规律
动,静态初始化的差别
六、数组常见问题
索引越界异常
访问了数组中不存在的索引,索引最小:0,最大:数组长度-1
七、数组常见操作
求最值
默认值不能为0,因为数组中可能有负数存在
求和
交换数据
打乱数据
sout(arr)打印的是arr的地址
sout(arr[0])打印的是arr里面的值
0不是地址
顺序打乱
随机打乱
八、数组的内存图
JAVA内存分配
两种存储方式
一种只放在栈内存里
一种在栈内存里再对应开辟出一个堆内存块
两个数组指在同一个空间的内存图
九、二维数组
定义:数组中存数组
应用:需要将数组进行分组管理
初始化
静态初始化
动态初始化
内存图
一维数组长度可不相同
覆盖