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 属性,表示数组中元素的个数。

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

相关推荐
evans在进步几秒前
Spring Boot 核心机制详解:可执行 JAR、CORS、静态资源与配置绑定
spring boot·后端·jar
Sayuanni%35 分钟前
SpringBoot 从注解到源码:核心知识点总结
java·spring boot·后端
坚定信念,勇往无前29 分钟前
Maven 私有仓库-nexus
java
Minner-Scrapy36 分钟前
Scrapy 2.17 源码解析:Scheduler 调度器与磁盘/内存双队列
java·爬虫·python·scrapy·网络爬虫·twisted
晚风醉蝶1 小时前
1-11-奇偶排序-OddEvenSort
java·数据结构·算法
陈随易1 小时前
Bun v1.4 更新总结:把浏览器、图片、定时任务和工程工具都装进一个运行时
前端·后端·程序员
夏天拐跑了西瓜1 小时前
Spring Cloud 微服务实战(三):一个服务挂了,凭什么拖垮整个系统?Sentinel 限流熔断实战
java·spring cloud·微服务
2601_967264281 小时前
Jetpack Compose 实践指南:从入门到进阶
java·学习
人间凡尔赛2 小时前
2026 后端架构三驾马车:Wasm 容器上 K8s、存算分离与 AI 原生
后端·云原生·架构
m0_587383002 小时前
社区家政系统开发实战:从需求分析到上线部署全指南
java·spring boot·spring·需求分析