Java_数组
Java_数组
数组的定义
静态初始化数组
定义数组的时候直接给数组赋值。
静态初始化数组的格式:
// 完整格式
数据类型[] 数组名 = new 数据类型[]{元素1,元素2 ,元素3… };
double[] scores = new double[]{89.9, 99.5, 59.5, 88.0};
int[] ages = new int[]{12, 24, 36};
// 简化格式
数据类型[] 数组名 = { 元素1,元素2 ,元素3,… };
int[] ages = {12, 24, 36};
注意:数组变量名中存储的是数组在内存中的地址,数组是引用类型。
数组的动态初始化
定义数组的时候只确定元素的类型和数组的长度,之后再存入具体数据。
数组的动态初始化格式:
数据类型[] 数组名 = new 数据类型[长度];
int[] arr = new int[3];
// 后赋值
arr[0] = 10;
System.out.println(arr[0]); // 10
动态初始化数组的默认值
| 数据类型 | 明细 | 默认值 |
|---|---|---|
| byte、short、char、int、long | 0 | |
| 基本类型 | float、double | 0.0 |
| boolean | false | |
| 引用类型 | 类、接口、数组、String | null |
两种初始化的的使用场景总结、注意事项说明:
- 动态初始化:只指定数组长度,后期赋值,适合开始知道数据的数量,但是不确定具体元素值的业务场景。
- 静态初始化:开始就存入元素值,适合一开始就能确定元素值的业务场景。
- 两种格式的写法是独立的,不可以混用。
int[] arrs = new int[3]{30,40,50}; //报错
数组的内存图

数组使用常见问题
- 问题1:如果访问的元素位置超过最大索引,执行时会出现ArrayIndexOutOfBoundsException(数组索引越界异常)
- 问题2:如果数组变量中没有存储数组的地址,而是null, 在访问数组信息时会出现NullPointerException(空指针异常)
int[] arr = new int[]{11, 22, 33};
System.out.println(arr[2]);
// System.out.println(arr[3])
// 出现ArrayIndexOutOfBoundsException异常
arr = null;
System.out.println(arr); // null
// System.out.println(arr.length)
// 出现NullPointerException异常
Debug工具的使用
Debug工具
- IDEA自带的断点调试(排错)工具,可以控制代码从断点开始一行一行的执行,然后详细观看程序执行的情况。
DEBUG工具基本使用步骤
- 在需要控制的代码行左侧,点击一下,形成断点
- 选择使用Debug方式启动程序,启动后程序会在断点暂停
- 控制代码一行一行的往下执行

浙公网安备 33010602011771号