Java中数组的定义与使用详解

  

Java中数组的定义与使用详解

什么是数组

数组是一种线性数据结构,包含相同类型的元素,每个元素可以通过下标访问。Java 中的数组属于引用数据类型,可以动态创建并初始化,支持多维数组。

定义数组

1.一维数组

定义一维数组的方式:

数据类型[] 数组名 = new 数据类型[数组长度];

例如:

int[] nums = new int[5];
String[] fruits = new String[3];

其中,new 关键字用于在堆内存(heap memory)中分配数组所需要的空间,数组长度必须是正整数。注意,初始化数组时元素自动初始化为默认值,int 类型为 0,String 类型为 null

2.多维数组

定义多维数组的方式:

数据类型[][]...[] 数组名 = new 数据类型[第一维长度][第二维长度]...[第 n 维长度];

例如:

int[][] nums = new int[3][4];
String[][][] students = new String[2][3][4];

其中,n 表示数组维数,第一维的长度不能省略,后续维数长度可以省略。元素访问方式通常通过嵌套的循环语句实现。

访问数组元素

访问数组元素的方式:

数组名[下标]

例如:

int[] nums = {1, 3, 5};
int num = nums[1]; // num 的值为 3 

注意,数组下标从 0 开始计数,越界时会抛出 ArrayIndexOutOfBoundsException 异常。

数组常用方法

Java 中的数组类 java.util.Arrays 提供了以下常用方法:

1.排序

使用 Arrays.sort() 方法对数组进行排序:

Arrays.sort(数组名);

例如:

int[] nums = {3, 1, 4};
Arrays.sort(nums); // nums 的值为 [1, 3, 4]

2.复制

使用 Arrays.copyOf() 方法复制数组:

数据类型[] 新数组名 = Arrays.copyOf(旧数组名, 新数组长度);

例如:

int[]nums = {1, 2, 3};
int[]newNums = Arrays.copyOf(nums, 5); // newNums 的值为 [1, 2, 3, 0, 0]

示例1

public class ArrayDemo {
    public static void main(String[] args) {
        int[] nums = {23, 12, 45, 67, 34};
        Arrays.sort(nums);
        System.out.println("排序后的数组:");
        for (int i = 0; i < nums.length; i++) {
            System.out.println(nums[i]);
        }
    }
}

输出结果:

排序后的数组:
12
23
34
45
67

示例2

public class MultiArrayDemo {
    public static void main(String[] args) {
        int[][] nums = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
        System.out.println("访问 nums[0][2] 的值:");
        System.out.println(nums[0][2]); // 输出 3 
    }
}

输出结果:

访问 nums[0][2] 的值:
3

总结

本文详细讲解了 Java 中数组的定义、访问和常用方法,并通过两个示例说明了数组的使用方法,希望读者进一步加深对 Java 数组的理解和应用。

相关文章