Java 数组入门:定义、初始化与遍历详解
本文详细介绍了 Java 中数组的定义、初始化方式以及遍历技巧。内容涵盖数组的概念、特点、三种定义格式、默认初始值规则,并对比了传统 for、带 length 属性的 for 和增强型 for 循环在遍历数组时的具体用法与注意事项。
数组概述
数组(Array)是 Java 中的一种引用数据类型,用于存储一组相同数据类型的元素。它本质上是一个容器,能够将多个数据集中管理,方便进行批量处理和访问。
数组具有以下显著特点:
- 长度固定:一旦数组被创建,其长度(即包含的元素个数)就不可改变。
- 类型一致:数组中的所有元素必须是相同的数据类型,不能混存不同类型(除非使用 Object 或基本类型的包装类/自动装箱机制,但语法上仍视为统一类型)。
- 支持多态:数组可以存储基本数据类型(如 int, boolean),也可以存储引用数据类型(如 String, 自定义对象)。
数组的定义与初始化
在 Java 中,声明和创建数组主要有以下三种格式:
格式一:动态指定长度
语法结构:元素数据类型[] 数组名 = new 元素数据类型[长度];
int[] a = new int[5];
该方式仅指定数组长度,系统会自动为元素赋予默认初始值。
格式二:静态初始化(全赋值)
语法结构:元素数据类型[] 数组名 = new 元素数据类型[]{元素1, 元素2, ...};
int[] a = new int[]{12, 23, 43};
同时提供数组内容和长度,系统根据提供的元素个数自动确定长度。
格式三:静态初始化(简化版)
语法结构:元素数据类型[] 数组名 = {元素1, 元素2, ...};
int[] a = {12, 23, 43};
这是格式二的简写形式,编译时不需要显式使用 new 关键字,也无需指定长度,但只能在一行声明中使用。
数组访问与默认初始值
数组通过索引(下标)访问元素,索引范围从 0 到 长度-1。创建数组后,元素会根据类型赋予特定的默认初始值,若未手动赋值则保持默认状态。
默认初始值规则
- 数值型(byte, short, int, long, float, double):默认值为
0或0.0。 - 字符型(char):默认值为
'\u0000'(空字符)。 - 布尔型(boolean):默认值为
false。 - 引用类型(String, 对象等):默认值为
null。
代码示例
以下代码展示了 String 数组创建后的默认状态及元素赋值过程:
package shuzu;
public class chushi {
public static void main(String[] args) {
// 创建长度为5的String数组,默认值为null
String[] a = new String[5];
// 输出所有元素,结果为 null null null null null
for(int i = 0; i < 5; i++) {
System.out.print(a[i] + " ");
}
// 赋值操作
a[0] = "Hello";
a[2] = "World";
// 再次输出验证
System.out.println();
System.out.println("a[0]: " + a[0]);
System.out.println("a[1]: " + a[1]); // 仍为 null
}
}
读取元素时,直接使用 数组名[索引] 即可将元素赋值给变量或直接打印:
int[] nums = {1, 5, 9, 7, 8};
int first = nums[0]; // 1
int third = nums[2]; // 9
遍历数组的三种方式
遍历是指按顺序访问数组中的每一个元素。以下是三种常见的遍历方式及其适用场景:
第一种:传统 for 循环(硬编码长度)
直接设定循环上限为固定数字。这种方式代码简洁,但若后续修改数组长度而未同步更新循环条件,极易引发 ArrayIndexOutOfBoundsException(数组下标越界异常)。
int[] a = {1, 5, 9, 7, 8};
// 风险点:如果数组长度变为6,这里仍只遍历前5个
for(int i = 0; i < 5; i++) {
System.out.print(a[i] + " ");
}
第二种:使用 .length 属性(推荐基础做法)
利用数组对象的 .length 属性动态获取长度。无论数组如何变化,都能确保遍历完整且安全,是最常用的标准写法。
for(int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
第三种:增强型 for 循环(foreach)
语法:for (元素类型 临时变量 : 数组名)。这种写法最为简洁,无需关心索引起始和终止值,专门用于“只读”遍历或需要处理每个元素的场景。注意:在此循环体内无法直接通过临时变量修改原数组元素的值(对于引用类型除外,可修改对象内部状态,但不能替换数组指向)。
for(int ab : a) {
System.out.print(ab + " ");
}
综合运行上述三种遍历方式的代码块,控制台输出结果均为:1 5 9 7 8。
以上就是 Java 数组基础知识包括定义、初始化与遍历的详细内容,更多关于 Java 入门教程的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













