Logo
Section 1 / 12

什么是数组?

本节课介绍了数组数据结构。

导入

什么是数组?

本节课介绍了数组数据结构。

定义

数组是一种按顺序排列的相同类型数据的集合。集合中每个数据成员的位置用一个称为索引的数字表示。

数组元素

该数据集合中的成员被称为数组元素。

数组长度

数组中元素的总数称为数组的长度。这个长度在创建数组时确定,并且在程序运行过程中无法更改。我们可以使用 Java 的内置功能 arrayName.length 来查看数组的长度。

索引

数组的索引范围始终是从 0 到 length-1。例如,包含前 100 个自然数的数组,其长度为 100,索引范围为 0 到 99。

声明

在 Java 中,声明数组时必须指定以下内容:

  • 数据类型
  • 名称
  • 大小

语法上,可以使用以下方式声明一个整型数组:

1int[] myArray; 2int []myArray; 3int myArray[];

在 Java 中,数组需要被实例化,即必须指定要分配给它的内存大小。实例化使用关键字 new 完成,如下所示:

1int[] myArray = new int[5]; // 创建一个大小为 5 的数组

让我们看看上面这行代码实际上做了什么:

它创建了一个可以存储 5 个整数值的数组,并将所有元素初始化为 0。

注意:数组的起始索引始终是 0,而不是 1。

默认值

如果用户未为数组元素赋值,Java 会自动为其设置一些默认值,如下表所示:

数组数据类型默认值
所有数值类型(int、short、double 等)0
booleanfalse
char空字符(null character)

初始化与访问数组元素

初始化是指在声明数组的同时为其元素赋予特定值。

可以通过在花括号中放入要存储的值,在一行代码中完成数组的声明、实例化和初始化。花括号中的值的数量决定了数组的长度。语法如下:

1int[] myArray1 = {1,2,3,4,5}; // 声明、实例化并初始化一个包含 5 个元素的数组:1,2,3,4,5 2int[] myArray2 = {2,4,6}; // 声明、实例化并初始化一个包含 3 个元素的数组:2,4,6

这种方法通常用于已知要存储的值的情况。

也可以通过索引值逐个声明和赋值数组元素。以下是访问单个元素的示例:

1class Arrays { 2 public static void main(String args[]) { 3 int[] myArray = new int[5]; // 声明并实例化一个长度为 5 的数组 4 5 System.out.println("myArray 的大小为: " + myArray.length); 6 7 myArray[0] = 2; // 访问第一个元素并赋值为 2 8 myArray[1] = 4; // 访问第二个元素并赋值为 4 9 myArray[2] = 6; // 访问第三个元素并赋值为 6 10 myArray[3] = 8; // 访问第四个元素并赋值为 8 11 myArray[4] = 10; // 访问第五个元素并赋值为 10 12 13 /* 输出存储的值 */ 14 15 System.out.println("myArray 的第一个元素是: " + myArray[0]); 16 System.out.println("myArray 的第二个元素是: " + myArray[1]); 17 System.out.println("myArray 的第三个元素是: " + myArray[2]); 18 System.out.println("myArray 的第四个元素是: " + myArray[3]); 19 System.out.println("myArray 的第五个元素是: " + myArray[4]); 20 } 21}

方括号可用于:

  • 在声明时表明变量是一个数组。
  • 读取或写入特定的数组元素。

注意:使用方括号内的正整数索引来访问某个元素,格式为 arrayName[index]。

上述过程的图形表示如下:

快速提问:你认为能否将负数设为数组的长度?

数组不能有负长度!

通过上述方法可以看出,当数组元素较多时,逐个赋值会非常繁琐且容易重复代码。因此,为了高效地为数组赋值,可以使用以下方法。

使用循环

让我们学习如何使用循环来初始化数组。

提示:我们的 AI 导师也可以为你提供指导。

1class Arrays { 2 public static void main(String args[]) { 3 int[] myArray = new int[10]; // 声明并实例化一个长度为 10 的数组 4 5 for (int i = 0; i < myArray.length; i++) { // 遍历索引 0 到 9 6 myArray[i] = i + 1; // 将值初始化为 1 到 10 7 } 8 9 for (int i = 0; i < myArray.length; i++) { 10 System.out.println("myArray[" + i + "] 的值是: " + myArray[i]); 11 // 将所有值打印到控制台 12 } 13 } 14}

方法

关于数组的更多内容