数组
数组的定义
- 数组就是用来存储一批同种类型数据的内存区域(可以理解成容器)。
静态初始化数组
- 定义数组的时候直接给数组赋值。
- 静态初始化数组的格式:
- 数组的基本原理
- 注意:数组变量名中存储的是数组在内存中的地址,数组是引用类型。
数组的访问
- 数组名称[索引]
- 数组的长度属性:length
- 数组的最大索引
数组的几个注意事项
- “数据类型[] 数组名”也可以写成 “数据类型 数组名[] ”。
- 数组一旦定义出来,程序执行的过程中,长度、类型就固定了。
- 什么类型的数组存放什么类型的数据,否则报错。
动态初始化数组
- 定义数组的时候只确定元素的类型和数组的长度,之后再存入具体数据。
- 数组的动态初始化格式:
动态初始化数组的元素默认值
元素默认值规则:
数据类型 | 明细 | 默认值 |
---|---|---|
基本类型 | byte、short、char、int、long | 0 |
基本类型 | float、double | 0.0 |
基本类型 | boolean | false |
引用类型 | 类、接口、数组、String | null |
- 两种初始化的的使用场景总结、注意事项说明:
1.动态初始化:只指定数组长度,后期赋值,适合开始知道数据的数量,但是不确定具体元素值的业务场景。
2.静态初始化:开始就存入元素值,适合一开始就能确定元素值的业务场景。
3.两种格式的写法是独立的,不可以混用。
数组的遍历
- 遍历:就是一个一个数据的访问。
数组的内存图
Java内存分配、数组内存图
两个变量指向同一个数组
数组使用的常见问题
- 问题1:如果访问的元素位置超过最大索引,执行时会出现ArrayIndexOutOfBoundsException(数组索引越界异常)
- 问题2:如果数组变量中没有存储数组的地址,而是null, 在访问数组信息时会出现NullPointerException(空指针异常)
Debug工具的使用
- IDEA自带的断点调试(排错)工具,可以控制代码从断点开始一行一行的执行,然后详细观看程序执行的情况。
- DEBUG工具基本使用步骤:
① 在需要控制的代码行左侧,点击一下,形成断点
② 选择使用Debug方式启动程序,启动后程序会在断点暂停
③ 控制代码一行一行的往下执行