一、引言
在 Java 编程中,数组是一种非常重要的数据结构。它允许我们存储多个相同类型的元素,并且可以通过索引快速访问这些元素。数组在处理批量数据时非常有用,例如统计学生成绩、存储图像像素等。
二、数组的基本概念
2.1 定义
数组是一种容器,用于存储固定大小
的相同类型
元素的集合
。数组中的每个元素都有一个唯一的索引
,索引从 0 开始,通过索引可以访问和修改数组中的元素。
2.2 数组的特点
- 固定大小:数组一旦创建,其大小就不能改变。
- 相同类型:数组中的所有元素必须是相同的数据类型。
- 连续存储:数组中的元素在内存中是连续存储的,这使得可以通过索引快速访问元素。
三、一维数组
3.1 数组的声明
在 Java 中,声明数组有两种常见的语法形式:
// 第一种形式
数据类型[] 数组名;
// 第二种形式
数据类型 数组名[];
例如:
// 声明一个整型数组
int[] numbers;
// 声明一个字符串数组
String names[];
虽然两种形式都可以使用,但推荐使用第一种形式,因为它更清晰地表明这是一个数组类型。
3.2 数组的初始化
数组的初始化有三种常见的方式:静态初始化、动态初始化和默认初始化。
3.2.1 静态初始化
静态初始化在声明数组的同时为数组元素赋值,数组的大小由赋值的元素个数
决定。
// 静态初始化整型数组
int[] numbers = {
1, 2, 3, 4, 5};
// 静态初始化字符串数组
String[] names = {
"张三", "李四", "王五"};
3.2.2 动态初始化
动态初始化先指定数组的大小
,然后再为数组元素赋值。
// 动态初始化整型数组,大小为 5
int[] numbers = new int[5];
// 为数组元素赋值
numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;
numbers[3] = 4;
numbers[4] = 5;
3.2.3 默认初始化
当使用 new
关键字创建数组时,如果没有显式地为数组元素赋值,数组元素会被赋予默认值。不同数据类型的默认值如下:
- 整型(
byte
、short
、int
、long
):0 - 浮点型(
float
、double
):0.0 - 布尔型(
boolean
):false
- 字符型(
char
):'\u0000'
- 引用类型:
null
// 动态初始化整型数组,元素默认值为 0
int[] numbers = new int[3];
System.out.println(numbers[0]); // 输出 0
3.3 数组的访问
通过数组的索引可以访问和修改数组中的元素。索引从 0 开始,最大索引为数组长度减 1。
int[] numbers = {
1, 2, 3, 4, 5};
// 访问数组元素
int firstElement = numbers[0];
System.out.println("第一个元素是:" + firstElement);
// 修改数组元素
numbers[2] = 10;
System.out.println("修改后的第三个元素是:" + numbers[2]);
3.4 数组的遍历
遍历数组就是依次访问数组中的每个元素。常见的遍历方式有 for
循环、foreach
循环和 while
循环。
3.4.1 for
循环遍历
int[] numbers = {
1, 2, 3, 4, 5};
for (int i = 0; i < numbers.length; i++) {
System.out.println("第 " + (</