1. 数组的基本概念
定义:数组是一个数据容器,用于存储一批同类型的数据。
2. 数组的静态初始化
语法格式:
// 简写格式
数据类型[] 数组名 = {元素1, 元素2, 元素3, ...};
int[] arr = {12, 24, 36};
// 完整格式
数据类型[] 数组名 = new 数据类型[]{元素1, 元素2, 元素3, ...};
int[] arr = new int[]{12, 24, 36};
注意事项:
数据类型[] 数组名与数据类型 数组名[]均可声明数组,但前者更规范。
3. 数组的访问与操作
-
通过索引访问元素:
- 索引从
0开始,最大索引为数组长度 - 1。
int[] arr = {12, 24, 36}; System.out.println(arr[0]); // S输出:12 System.out.println(arr[1]); // 输出:24 - 索引从
-
修改元素值:
arr[1] = 100; // 修改后数组变为 {12, 100, 36} -
获取数组长度:
System.out.println(arr.length); // 输出:3
内存表示示例:
| 内存地址 | 元素值 | 索引 |
|-----------|--------|------|
| 0x4c873330 | 12 | 0 |
| 0x4c873334 | 24 | 1 |
| 0x4c873338 | 36 | 2 |
4. 动态初始化数组
语法格式:
数据类型[] 数组名 = new 数据类型[长度];
int[] arr = new int[3]; // 初始化一个长度为3的int数组
元素默认值规则:
| 数据类型 | 默认值 |
|---|---|
byte, short, int, long | 0 |
float, double | 0.0 |
boolean | false |
引用类型(如 String) | null |
示例:
double[] scores = new double[5]; // 所有元素初始化为0.0
String[] names = new String[3]; // 所有元素初始化为null
5. 二维数组
-
定义与初始化:
// 静态初始化 int[][] arr = {{12, 24, 36}, {666, 888}, {10, 20, 30}}; // 动态初始化 int[][] arr = new int[3][2]; // 3行2列的二维数组 -
访问元素:
// 访问第二行第一列的元素 int val1 = arr[1][0]; // 666 // 修改第三行第一列的值 arr[2][0] = 111; // 第三行变为 {111, 20, 30} -
遍历二维数组:
for (int i = 0; i < arr.length; i++) { // 遍历行 for (int j = 0; j < arr[i].length; j++) { // 遍历列 System.out.print(arr[i][j] + "\t"); } System.out.println(); }输出示例:
12 24 36
666 888
111 20 30
6. 注意事项
- 索引越界:访问超出索引范围会导致
ArrayIndexOutOfBoundsException。 - 内存分配:数组在内存中连续存储,长度固定,不可动态扩展。
- 引用类型特性:数组是对象,赋值操作传递的是引用地址。
总结
- 静态初始化适合已知具体元素的场景,动态初始化适合先定义长度后赋值的场景。
- 二维数组通过嵌套循环遍历,行和列的索引均从
0开始。 - 合理选择初始化方式,避免索引越界和内存浪费。

被折叠的 条评论
为什么被折叠?



