Java函数如何调用数组?
- 后端开发
- 2025-06-20
- 9
数组的声明与初始化
声明方式
// 方式1:声明后初始化 int[] arr1; arr1 = new int[5]; // 创建长度为5的int数组(默认值0) // 方式2:声明时初始化 String[] arr2 = new String[3]; // 默认值null // 方式3:直接赋值 double[] arr3 = {1.1, 2.2, 3.3}; // 长度自动为3
多维数组
int[][] matrix = new int[2][3]; // 2行3列 int[][] jagged = {{1,2}, {3,4,5}}; // 锯齿数组
访问与修改数组元素
通过索引(从0开始)直接操作:
遍历数组的两种方法
基础for循环
for (int i = 0; i < scores.length; i++) { System.out.println(scores[i]); }
增强for循环(只读)
for (int score : scores) { System.out.println(score); }
数组作为函数参数与返回值
作为参数传递
public static void printArray(int[] arr) { for (int num : arr) { System.out.print(num + " "); } } // 调用 int[] myArr = {10, 20, 30}; printArray(myArr); // 输出: 10 20 30
作为返回值
public static int[] createArray(int size) { return new int[size]; // 返回新数组 }
常见错误与规避
-
数组越界
访问不存在的索引(如 arr[5] 访问长度5的数组)会抛出 ArrayIndexOutOfBoundsException。
规避:始终检查索引范围(0 ≤ index < array.length)。
-
空指针异常
未初始化的数组调用会抛出 NullPointerException。
规避:初始化后再使用:

int[] arr = null; // arr[0] = 1; // 错误! arr = new int[3]; // 正确初始化
-
长度不可变
数组创建后长度固定,需扩容时用 Arrays.copyOf() 或改用 ArrayList。

- 数组通过索引访问,索引范围 0 到 length-1。
- 使用 length 属性获取长度(非方法,不加括号)。
- 传递数组给函数时,实际传递的是引用(函数内修改影响原数组)。
- 优先用增强for循环简化遍历,需索引时用基础for循环。
工具类辅助操作
java.util.Arrays 提供常用方法:
import java.util.Arrays; int[] arr = {3, 1, 4}; Arrays.sort(arr); // 排序 → [1, 3, 4] String arrStr = Arrays.toString(arr); // 转字符串 → "[1, 3, 4]" int[] copy = Arrays.copyOf(arr, 5); // 复制并扩容为长度5
关键总结
引用说明参考Oracle官方Java教程[1]及《Java核心技术卷I》[2],遵循Java SE规范,实践代码基于JDK 11验证。
[1] Oracle Java Arrays Tutorial
[2] Cay S. Horstmann. Java核心技术卷I(第11版). 机械工业出版社
