数组

数组 属于 Java

24 个练习

关于 数组

在 Java 中,数组是一种在单个结构里存储多个同类型值的方式。 与其他数据结构不同,数组一旦创建,大小就固定了。 可以用下标给数组中的元素赋值,也可以用它从数组中取值。 Java 数组使用从 0 开始的下标:第一个元素的下标是 0,第二个元素的下标是 1,依此类推。

下面是初始化数组的标准语法:

type[] variableName = new type[size];

type 是数组中元素的类型,既可以是基本类型(例如int),也可以是类(例如String)。

size 是这个数组能容纳的元素个数(之后无法更改)。 数组创建后,元素会被初始化为各自的默认值(通常是0、false或null)。

// Declare array with explicit size (size is 2)
int[] twoInts = new int[2];

也可以用一种简写形式来定义数组,它让你在创建数组的同时设置它的值:

// Two equivalent ways to declare and initialize an array (size is 3)
int[] threeIntsV1 = new int[] { 4, 9, 7 };
int[] threeIntsV2 = { 4, 9, 7 };

因为编译器现在能看出数组会有多少个元素,所以可以省略长度。

可以使用带方括号的下标写法给数组元素赋值和读取它们的值:

// Assign second element by index
twoInts[1] = 8;

// Retrieve the second element by index and assign to the int element
int secondElement = twoInts[1];

访问数组有效下标范围之外的下标会抛出 IndexOutOfBoundsException。

可以通过调用数组实例的方法或属性来操作数组,也可以使用 Arrays 类中定义的静态方法(通常只在泛型代码中使用)。 length 属性保存数组的长度。 可以这样访问它:

int arrayLength = someArray.length;

Java 还提供了一个很实用的工具类 java.util.Arrays,它包含许多与数组相关的方法(例如Arrays.equals)。

Java 也支持多维数组,例如 int[][] arr = new int[3][4];,它们非常有用。

数组同时也是一种_集合_,这意味着除了通过下标访问值之外,你还可以用 for-each 循环迭代它的_所有_值:

char[] vowels = { 'a', 'e', 'i', 'o', 'u' };

for(char vowel: vowels) {
    // Output the vowel
    System.out.print(vowel);
}

// => aeiou

如果你想更精确地控制迭代哪些值,可以使用 for 循环:

char[] vowels = { 'a', 'e', 'i', 'o', 'u' };

for (int i = 0; i < 3; i++) {
    // Output the vowel
    System.out.print(vowels[i]);
}

// => aei
通过 GitHub 编辑 该链接会在新窗口或标签页中打开

学习 数组