一,数组的含义
它是一个容器,可以存放多个相同数据类型的变量。
数据是一个引用数据类型(引用数据类型:地址值、默认值)二,
二,数组的初始化
A. 动态初始化 //给出了长度,没有给出具体的数据值
int[] array1 = new int[3]
B. 静态初始化 //给出具体的值,长度由系统帮助你推断
int[] array3 = new int[]{11,22,33,44}
int[] array3 = {11,22,33,44}
三,数组的遍历
A. 正向遍历 数组名称.fori 回车
B. 反向遍历 数组名称.forr 回车
C.增强型for循环 数组名称.for回车
D.迭代器
四,内存图
1. 基本数据类型
A.整数类型 默认值是 0
B.浮点数类型 默认值是 0.0
C.字符类型 默认值是 '\u0000'
D.布尔类型 默认值是 false
2. 引用数据类型
如果是引用数据类型,默认值是 null
3. Java当中的内存划分
- 栈: stack [重点] 方法会在栈当中执行,存放的是局部变量(写在方法当中的变量叫做局部变量)
- 堆: heap [重点] 存放的是 new 出来的东西,有两个值(地址值和默认值)
- 方法区: method area [重点] 存放的是 .class 相关信息,主要是方法的头信息(方法名称,参数列表,返回值类型)
- 本地方法栈: native method stack
- 寄存器: pc register
注意事项:数组操作的两个小问题
1. 数组索引越界异常 ArrayIndexOutOfBoundsException
A.原因: 访问了不存在的数组索引
B.解决方案: 修改数组的索引
2. 空指针异常 NullPointerException
A.原因: 忘记了 new 的操作
B.解决方案: 补上 new