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

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

相关推荐
木头科技几秒前
【AI 工程化第八篇】Spring AI 多模型路由实战:DeepSeek、通义、Kimi、OpenAI 如何统一接入和自动切换
java·人工智能·spring
Thneonl几秒前
故意弄坏生产:混沌工程不是乱砸,是实验设计
后端·程序员
深盾科技_Virbox3 分钟前
云端与本地并行交付,软件许可管理如何实现统一运营?
java·大数据·开发语言·安全
thefool1122663 分钟前
多线程 3
java
Thneonl9 分钟前
别上来就 strace:60 秒十条命令看清一台病机
后端·程序员
CoderYanger10 分钟前
A.每日一题:856. 括号的分数
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
马剑威(威哥爱编程)18 分钟前
【AI全栈后端12-11】Spring Boot 把 AI 接口真正上线扛量:限流 / 降级 / 可观测
人工智能·spring boot·后端
liangbo726 分钟前
01-Java 集合框架全景:从 Collection 到 Map 一张关系网理清
java
xuxigifxfh30 分钟前
HJ15 求int型正整数在内存中存储时1的个数
java·开发语言·华为机考
Wokoo733 分钟前
自动化测试入门:核心场景、回归测试与 Web 自动化环境搭建
java·开发语言·测试工具