知用网
霓虹主题四 · 更硬核的阅读氛围

Java数组怎么操作 使用技巧与常见问题解析

发布时间:2025-12-17 22:00:22 阅读:87 次

在写代码的时候,数组是最基础也最常用的数据结构之一。比如你要存一组学生的成绩,或者记录一周每天的气温,用数组就特别方便。Java里的数组操作其实并不复杂,掌握几个关键点就能上手。

声明和创建数组

Java中声明数组有两种写法,效果一样,看个人习惯:

int[] scores = new int[5];
// 或者
int scores[] = new int[5];

上面这行代码创建了一个长度为5的整型数组,所有元素默认是0。你也可以直接赋值初始化:

int[] temperatures = {23, 25, 24, 27, 26};

访问和修改元素

数组下标从0开始,想读取第三天的温度,就这么写:

System.out.println(temperatures[2]); // 输出24

想把第二天的温度改成28?直接赋值就行:

temperatures[1] = 28;

注意别越界,比如你只有5个元素,却去访问temperatures[5],程序就会抛出ArrayIndexOutOfBoundsException

遍历数组

想打印所有元素,可以用for循环:

for (int i = 0; i < temperatures.length; i++) {
    System.out.println(temperatures[i]);
}

更简洁的方式是用增强for循环(也叫foreach):

for (int temp : temperatures) {
    System.out.println(temp);
}

常见操作:查找和排序

比如你想知道某个分数是否在数组里出现过,可以写个简单的查找:

boolean found = false;
for (int score : scores) {
    if (score == 90) {
        found = true;
        break;
    }
}

如果数组是无序的,这种线性查找是常规做法。如果已经排好序,可以用二分查找:

import java.util.Arrays;

Arrays.sort(scores); // 先排序
int index = Arrays.binarySearch(scores, 90); // 查找90的位置

数组复制

有时候你需要保留原数据,又想改一份副本。直接赋值是不行的,因为那只是引用:

int[] arr1 = {1, 2, 3};
int[] arr2 = arr1;
arr2[0] = 99; // arr1[0] 也会变成99

正确复制方式有几种,推荐用Arrays.copyOf

int[] arr2 = Arrays.copyOf(arr1, arr1.length);

这样两个数组就完全独立了。

多维数组

二维数组在处理表格数据时很实用,比如表示一个3×3的棋盘:

int[][] board = new int[3][3];
board[0][0] = 1; // 设置左上角格子

// 遍历所有格子
for (int i = 0; i < board.length; i++) {
    for (int j = 0; j < board[i].length; j++) {
        System.out.print(board[i][j] + " ");
    }
    System.out.println();
}

Java的多维数组其实是“数组的数组”,每一行可以有不同的长度,不过一般我们用成规则矩阵就行。