数组

70 阅读3分钟

Java数组入门:简单实用的数据存储方式

数组是Java中最基本的数据结构,用来存放一组相同类型的数据。对于初学者来说,掌握数组的使用非常重要,因为它在实际编程中经常被用到。

什么是数组?

想象一下你有一个装鸡蛋的盒子,这个盒子有多个位置,每个位置只能放一个鸡蛋。Java数组就是这样一种"盒子",可以存放多个相同类型的数据。

数组有两个主要特点:

  1. 长度固定,创建后就不能改变大小
  2. 所有元素必须是同一种数据类型

如何使用数组?

创建数组

创建数组有几种简单的方法:

// 方法1:直接指定元素
int[] scores = {90, 85, 78, 92, 88};

// 方法2:先创建空数组再赋值
int[] numbers = new int[3];
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;

访问数组元素

数组的位置从0开始计数,第一个元素是0号位置:

System.out.println(scores[0]); // 输出第一个成绩:90
System.out.println(scores[2]); // 输出第三个成绩:78

// 修改数组元素
scores[1] = 95; // 把第二个成绩改为95

获取数组长度

使用.length可以知道数组有多长:

int count = scores.length; // 结果是5,因为有5个成绩

遍历数组的简单方法

想要处理数组中的每个元素,可以使用循环:

// 使用普通for循环
for (int i = 0; i < scores.length; i++) {
    System.out.println("第" + (i+1) + "个成绩:" + scores[i]);
}

// 或者使用更简洁的for-each循环
for (int score : scores) {
    System.out.println("成绩:" + score);
}

二维数组

二维数组就像是一个表格,有行和列:

// 创建一个3行2列的数组
int[][] table = {
    {1, 2},
    {3, 4},
    {5, 6}
};

// 访问第二行第一列的元素
System.out.println(table[1][0]); // 输出3

数组的常用操作

Java提供了一些方便的方法来处理数组:

import java.util.Arrays;

// 排序
int[] numbers = {5, 3, 8, 1, 2};
Arrays.sort(numbers); // 变成 [1, 2, 3, 5, 8]

// 比较两个数组是否相同
boolean isEqual = Arrays.equals(numbers1, numbers2);

// 将数组转换成字符串方便打印
String arrayStr = Arrays.toString(numbers);

需要注意的问题

使用数组时可能会遇到两个常见错误:

  1. 数组越界:访问不存在的索引位置

    int[] arr = new int[3];
    arr[3] = 10; // 错误!最大索引只能是2
    
  2. 空指针异常:数组没有初始化就使用

    int[] arr;
    System.out.println(arr[0]); // 错误!arr还没有初始化
    

实际应用例子

数组在日常编程中很实用,比如:

// 计算平均分
public static double getAverage(int[] scores) {
    int sum = 0;
    for (int score : scores) {
        sum += score;
    }
    return (double) sum / scores.length;
}

// 查找最高分
public static int findMax(int[] scores) {
    int max = scores[0];
    for (int i = 1; i < scores.length; i++) {
        if (scores[i] > max) {
            max = scores[i];
        }
    }
    return max;
}

总结

数组是Java中存储一组数据的简单有效方式。虽然它的大小不能改变,但在很多情况下已经足够使用。对于需要动态调整大小的场景,可以考虑使用ArrayList,但数组仍然是学习更复杂数据结构的基础。

掌握了数组的基本用法,你就有了处理批量数据的能力,这是编程中的一项重要技能。