java基础--------04
一、数组
-
数组的概述
- 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致
-
定义格式
- 数组类型[] 变量名(推荐使用)
- 数组类型 变量名[]
-
数组的动态初始化
- 什么是数组的动态初始化?
Java中的数组必须先初始化然后才能使用
初始化就是为数组中的元素分配内存空间,并为每个元素赋值
-
什么是数组的动态初始化?
数字的动态初始化就是只给定数组的长度,由系统给出默认初始化值
-
数组动态初始化格式
数据类型[] 数组名 = new 数据类型[数组长度]
-
数组中元素的访问方法?
-
索引的特征
索引是从0开始的.
索引是连续的.
索引是逐一增加的,每次+1.
-
-
初始化默认值:
当我们使用动态初始化初始一个数组,只指定长度而未给数组中的每一个元素赋值时,Java会给每一个元素一个默认值.
- 整数 -> 0
- 浮点数 -> 0.0
- 布尔值 -> false
- 字符 -> 空字符,是’'而不是null.
- 引用数据类型 -> null
Java内存中的栈内存与堆内存
- 栈内存
- 存储局部变量,也就是存储定义在方法中的变量,例如:arr,是用完成之后,立即在栈内存中消失 -> 弹出栈.
- 堆内存
- 存储new出来的内容(实例,对象),每一次new出来的东西都有一个地址值,使用完毕,会在垃圾回收期空闲时被回收.
当多个数组指向同一块内存空间时,任意一个数组修改了堆内存中的数据,另一个数组去访问堆内存会得到修改之后的结果.
-
数组的静态初始化
- 概述
- 数组的静态初始化就是在创建数组的时候,直接确定数组中每一个元素的值。
- 概述
-
完整版格式
数据类型[] 数组名 = new 数据类型[]{元素1,元素2…};
-
数组常见的两个操作问题
-
索引越界异常
-
出现原因
- 出现索引越界异常的唯一原因就是我们去尝试获取了数组最大索引值之外的元素,例如一个数组长度为3,那么里面总共有3个元素,索引从0开始,最后一个元素的索引为2,我们去获取索引为3的元素时,已经超出了数组的索引,所以会出现索引越界.
-
解决方法
- 修改错误的索引到正确的索引范围.
-