Java 数组

31 阅读4分钟

在 Java 中,数组是一个固定大小的数据结构,它能够存储多个相同类型的元素。在数组中,每个元素可以通过索引进行访问,数组的索引从0开始,依次递增。

声明和初始化数组

声明一个数组需要指定数组的类型和数组的名称。例如,要声明一个整型数组,可以使用以下语法:

int[] myArray; // 声明一个变量名为 myArray 的整型数组int myArray[]; // 不推荐的形式。建议将 [] 放在类型后面

要初始化一个数组,可以使用new关键字来分配数组的内存空间,并指定数组的大小,如下所示:

myArray = new int[5]; // 初始化一个包含5个元素的整型数组

以下是几点需要注意的重要信息:

  1. 指定数组大小后,数组最多能存储的元素个数是设置的大小减一。这是因为 Java 中的数组索引是从 0 开始的。例如,对于一个大小为 5 的数组,有效的索引范围是 0 到 4,最多可以存储 5 个元素。超出这个范围的索引将导致数组索引越界的异常(ArrayIndexOutOfBoundsException)。

  2. 如果没有为数组的元素设置初始值,在 Java 中基本类型的数组元素会被赋予默认值,而引用类型的数组元素会被赋予 null。具体情况如下:

    • 对于整型数组(int[]),默认值为0。
    • 对于浮点型数组(float[]),默认值为0.0。
    • 对于布尔型数组(boolean[]),默认值为false。
    • 对于字符型数组(char[]),默认值为'\u0000'(null字符)。
    • 对于对象类型数组(如String[]),默认值为null。
    • 对于其他引用类型数组,也是默认为null。

或者可以在声明的同时进行初始化:

int[] myArray = {10, 20, 30, 40, 50}; // 声明并初始化一个整型数组

访问和修改数组元素

数组中的元素可以通过索引访问。例如,要访问数组的第一个元素,使用索引0;第二个元素,使用索引1,以此类推。可以通过以下方式访问数组元素:

int firstElement = initializedArray[0]; // 访问第一个元素,值为10
System.out.println(initializedArray[1]); // 输出第二个元素,值为20
System.out.println(initializedArray[2]); // 输出第二个元素,值为30
System.out.println(initializedArray[3]); // 输出第二个元素,值为40
System.out.println(initializedArray[4]); // 输出第二个元素,值为50

在实际编程中,通常会选择使用循环来访问数组元素,而不是为每个元素单独编写一行代码。循环的使用将在后续的Java 循环文章中介绍。

要修改数组中的元素,可以通过索引进行赋值。将数组initializedArray中的第一个元素的值修改为100:

initializedArray[0] = 100; // 将第一个元素的值修改为100
System.out.println(initializedArray[0]); // 输出修改后的第一个元素,值为100

获取数组长度

要获取数组的长度,可以使用数组对象的length属性。例如:

int length = initializedArray.length; // 获取数组的长度,值为5
System.out.println("数组的长度为:" + length);

多维数组

Java 支持多维数组,即数组的元素也可以是数组。例如,可以创建一个二维数组来表示表格或矩阵:

int[][] matrix = new int[3][3]; // 声明一个3x3的二维数组
int value = matrix[1][2]; // 访问二维数组中的一个元素

完成的ArrayExample类(包含了对数组的声明、初始化、访问和修改等操作的示例):

public class ArrayExample {

    public static void main(String[] args) {
        // 声明一个整型数组
        int[] myArray;

        // 初始化一个包含5个元素的整型数组
        myArray = new int[5];

        // 在声明时进行初始化
        int[] initializedArray = {10, 20, 30, 40, 50};

        // 访问数组元素
        int firstElement = initializedArray[0]; // 访问第一个元素,值为10
        System.out.println(initializedArray[1]); // 输出第二个元素,值为20
        System.out.println(initializedArray[2]); // 输出第三个元素,值为30
        System.out.println(initializedArray[3]); // 输出第四个元素,值为40
        System.out.println(initializedArray[4]); // 输出第五个元素,值为50

        // 修改数组的值
        initializedArray[0] = 100; // 将第一个元素的值修改为100
        System.out.println(initializedArray[0]); // 输出修改后的第一个元素,值为100

        // 获取数组长度
        int length = initializedArray.length; // 获取数组的长度,值为5
        System.out.println("数组的长度为:" + length);

        // 多维数组示例
        int[][] matrix = new int[3][3]; // 声明一个3x3的二维数组
        matrix[1][2] = 5; // 修改二维数组中的一个元素
        System.out.println("二维数组中的值:" + matrix[1][2]); // 输出二维数组中修改后的值
    }
}

代码运行结果:

20
30
40
50
100
数组的长度为:5
二维数组中的值:5

总结

本文简要介绍了 Java 数组的基本概念和常见操作,包括数组的声明、初始化、访问元素、获取长度以及遍历数组。对于 Java 初学者来说,掌握数组是非常重要的,因为它是处理和管理大量数据的一种重要工具。