Java 中的一维数组2025 年 8 月 5 日 | 阅读 7 分钟 一维(1D)数组是一种线性数据结构,它在连续的内存位置中存储相同数据类型的元素。 基本术语
数组声明在 Java 中,有两种声明一维数组的方法。 语法 示例 这会创建一个整数类型的数组。 数组实例化声明后,我们需要实例化数组。这可以通过使用 **new** 关键字并指定数组大小来完成。 语法 示例 这会创建一个整数类型的数组,并可容纳 5 个元素。 数组初始化我们在声明时初始化数组元素。初始化时,我们在花括号 {} 中初始化元素,元素之间用逗号分隔。 这会创建一个整数类型的数组,并可容纳 5 个元素。同样,我们可以使用其他数据类型。 实例化后(单独赋值) 我们可以使用其索引为单个元素赋值。例如: 示例:一维数组编译并运行输出 Array Elements are: 40 50 60 70 80 90 数组的内存表示数组中的所有元素都存储在连续的内存位置中。因此,如果进行数组初始化,数组的元素将按顺序存储在内存中。这使得对元素的有效操作和访问成为可能。 ![]() 内存计算这是数组使用的总内存(物理大小)。数组占用的总内存可以通过以下公式计算: 注意:数组元素的大小取决于数据类型。例如,如果数组类型为 int,则每个元素为 4 字节。如果一个数组有 5 个 int 类型元素,则数组占用的总内存将是 20 字节,因为 int 有 4 字节。 类似地,如果一个数组有 100 个 char 类型元素,则数组占用的总内存将是 200 字节,因为 char 有 2 字节。 数组的大小或长度这是数组包含的元素数量(逻辑大小)。例如,如果一个数组包含 10 个元素,则数组的大小或长度将是 10。 数组索引
数组操作在一维数组中,我们可以执行以下操作:
一维数组遍历顺序遍历数组以访问和处理元素称为数组遍历。数组遍历是计算机编程中最基本的操作之一。因为数组是常用且频繁使用的数据结构,用于在一个变量中存储多个元素。 在数组遍历中,每个元素都从头到尾访问,或者有时按反序(即从尾到头)访问。数组遍历通常借助循环来完成。 数组遍历的工作原理 每当创建一个数组时,都会分配一块连续的内存,元素以索引方式存储。在数组中,可以通过索引访问每个元素,在大多数计算机编程语言中,索引从 0 开始。 例如,观察以下包含六个整数的数组: 在这里,40 位于第 0 个索引处,可以通过 arr[0] 访问。50 位于第 1 个索引处,可以通过 arr[1] 访问。60 位于第 2 个索引处,可以通过 arr[2] 访问。类似地,最后一个元素 90 位于索引 5 处,可以通过 arr[5] 访问。 数组遍历的类型线性(顺序)遍历: 它包括从头到尾遍历数组的元素。这是最常见的数组遍历,用于搜索元素、打印元素和进行计算。 示例:线性遍历数组编译并运行输出 Array Elements are: 40 50 60 70 80 90 反向遍历: 它包括从头到尾遍历数组的元素。它用于按相反顺序处理元素。 示例:反向遍历数组编译并运行输出 Elements of the array in reverse order are: 90 80 70 60 50 40 一维数组的关键特性
ArrayIndexOutOfBoundsException如果我们尝试访问数组元素的无效索引范围(例如,小于 0 或大于或等于长度),我们将收到 `ArrayIndexOutOfBoundsException`。 示例 优点
缺点
何时使用一维数组?
结论一维数组是 Java 中存储相似项目列表的基本方式。它们易于使用,并且如果我们知道位置,可以非常快速地访问任何项目。这使得它们内存高效。但是,数组的大小是固定的。一旦创建,我们就无法更改其容量。此外,在中间添加或删除项目可能效率低下。 一维数组选择题1. Java 中的一维数组存储着相同 ______ 的固定大小元素集合。
答案: b) 解释: Java 中的数组是同质的,这意味着所有元素都必须是相同的数据类型。 2. 当 Java 中的 int 数组在没有显式初始化的情况下实例化时,其元素会自动初始化为 ______ 的默认值。
答案: d) 解释: 当实例化数组时,像 `int` 这样的基本数值类型会自动初始化为 `0`。 3. 要获取 Java 数组中的元素数量,可以使用其内置的 ______ 属性。
答案: a) 解释: `length` 属性直接提供了数组可容纳的元素数量。 4. 在遍历数组并且不需要访问索引时,______ 循环(也称为 for-each 循环)通常因其简洁性而受到青睐。
答案: b) 解释: 增强 `for` 循环(for-each 循环)用于遍历集合和数组,而无需显式管理索引。 5. 使用一维数组的优点之一是使用索引进行 ______ 访问元素,这非常高效。
答案: d) 解释: 数组允许随机访问(也称为直接访问),这意味着可以使用索引在恒定时间内检索任何元素。 下一主题Java 中的二叉树之字形遍历 |
引言 继承的概念,它使类能够采用其他类的特性和属性,是面向对象编程的基础。由于 Java 支持单一继承,一个类只能继承自一个超类。然而,Java 提供了一种通过……实现多重继承的方法。
5 分钟阅读
java.time.chrono.JapaneseChronology 类有一个 eras() 方法。要获取此特定日本历法下的所有 era,请使用 JapaneseChronology 代码。语法:public List eras() 参数:此方法不能接受任何参数。返回值:此历法下的所有 era...
阅读 3 分钟
在 Java 中,extends 关键字用于继承父类的所有方法和属性,而 implements 关键字用于实现接口中定义的方法。extends 关键字 extends 关键字用于当一个类继承自……
阅读 4 分钟
在本节中,我们将学习如何在 Java 中找到从左上角到右下角的可能路径。这是面试中一个突出的问题。从左上角到右下角的约束是:从……
5 分钟阅读
Java.lang.Package 具有 getPackages() 函数。调用者的类加载器定义了 Packages,可以通过 package 类获取。该方法返回一个 Package 对象数组,用于表示包。语法:public boolean getPackages(String desiredVersion) 参数:此方法不接受任何参数……
阅读 2 分钟
泛型(Generic)的概念在 Java 语言中被引入,以在编译时提供更严格的类型检查并支持泛型编程。为了实现泛型,Java 编译器会执行类型擦除:用……替换所有参数类型。
阅读 3 分钟
? Java 的内存映射文件提供了一种将文件的一部分直接映射到内存并方便快速访问文件内容的强大方法。这种技术在处理大文件或需要检索文件数据时可以提高性能……
阅读 4 分钟
在本节中,我们将学习什么是“strobogrammatic numbers”,并创建 Java 程序来检查给定的数字是否为 strobogrammatic numbers。Strobogrammatic numbers 的 Java 程序经常出现在 Java 编码面试和学术中。Strobogrammatic numbers,一个有趣的数学……
阅读 4 分钟
Cloneable 是一个用于创建对象精确副本的接口。它存在于 java.lang 包中。如果我们要创建类对象的克隆,该类必须实现 Cloneable 接口。Object 类的 clone() 方法用于……
阅读1分钟
Minecraft Java 版和基岩版之间的区别 Minecraft 是一款沙盒游戏,玩家在一个块状的、程序生成的 3D 世界中进行探索,该世界具有几乎无限的地形,并使用原材料建造结构、制作工具和物品。游戏在质量、细节和多变性方面都很出色……
阅读 8 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India