16. Java 如何创建、初始化和访问数组

16. Java 如何创建、初始化和访问数组

在 Java 中,数组是一种数据结构,它可以存储多个相同类型的数据。创建、初始化和访问数组的过程非常简单,下面我将详细解释如何进行这些操作。


1️⃣ 创建数组

创建数组的一种常见方法是使用 new 运算符来分配内存空间。例如:

java 复制代码
int[] anArray = new int[10];

在这个例子中,new int[10] 创建了一个包含 10 个整数的数组,并将其分配给变量 anArray。数组的大小一旦确定,就不能再更改。


2️⃣ 初始化数组元素

可以通过数组的索引来访问每个元素,数组的索引从 0 开始。例如:

java 复制代码
anArray[0] = 100;  // 初始化第一个元素
anArray[1] = 200;  // 初始化第二个元素
anArray[2] = 300;  // 初始化第三个元素
// 继续初始化其他元素

然后,你可以通过索引访问和打印这些元素的值:

java 复制代码
System.out.println("Element at index 0: " + anArray[0]);
System.out.println("Element at index 1: " + anArray[1]);
System.out.println("Element at index 2: " + anArray[2]);

输出结果将是:

java 复制代码
Element at index 0: 100
Element at index 1: 200
Element at index 2: 300

3️⃣ 使用简化语法进行初始化

你也可以在声明数组的同时直接初始化它的值,而不必一一赋值。例如:

java 复制代码
int[] anArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};

在这个例子中,数组 anArray 被初始化为 10 个元素。数组的大小由提供的值的数量决定(在这里是 10 个)。


4️⃣ 多维数组

Java 支持多维数组,实际上多维数组是数组的数组。例如:

java 复制代码
String[][] names = {
    {"Mr. ", "Mrs. ", "Ms. "},
    {"Smith", "Jones"}
};

在上面的例子中,names 是一个二维数组,包含两个数组:第一个数组包含 3 个元素,第二个数组包含 2 个元素。

访问和打印数组元素:

java 复制代码
System.out.println(names[0][0] + names[1][0]);  // 输出 Mr. Smith
System.out.println(names[0][2] + names[1][1]);  // 输出 Ms. Jones

输出结果为:

java 复制代码
Mr. Smith
Ms. Jones

5️⃣ 获取数组的长度

每个数组都有一个内置的属性 length,可以用来获取数组的大小(即数组中元素的个数)。例如:

java 复制代码
System.out.println(anArray.length);  // 输出数组的大小

如果数组的大小是 10,则 anArray.length 的值将为 10


总结

  • 创建数组 :通过 new 运算符创建指定大小的数组。
  • 初始化数组:可以通过索引来手动赋值,也可以在声明时使用简化语法进行初始化。
  • 访问数组 :使用索引来访问数组的元素,索引从 0 开始。
  • 多维数组:Java 支持多维数组,每个维度可以是数组类型,并且允许"锯齿形"结构。
  • 数组长度 :每个数组都有一个 length 属性,表示数组中元素的个数。

通过掌握这些基础操作,你可以高效地使用数组来管理和操作数据。

相关推荐
ShadowYD1 小时前
Agent Loop:一个让 AI 编程 Agent 从"会写代码"进化到"闭环交付"的开源 Skill(适配国内外主流 Code Agent)
后端
考虑考虑2 小时前
nohup启动java程序
后端·自动化运维
鹿角片ljp3 小时前
LeetCode 64:最小路径和复盘|二维 DP 与 ACM 模式完整写法
java·数据结构·算法
aramae4 小时前
模拟实现strcmp()(C语言)
c语言·开发语言·后端
泡海椒5 小时前
PDF 表格样式优化:jquick-pdf 边框、圆角、背景色
java·开发语言·pdf
根目录下的猫6 小时前
RK3588适配的轻量级AI模型推荐
人工智能·后端·python·目标检测
景熙55236 小时前
15.Java 8 Stream 流入门到实战
java·开发语言·数据结构
wno7046 小时前
Spring Security权限控制
java·python·spring
星栈7 小时前
用 Rust 写 Agent 服务 -- adk-rust 上手记
后端·agent