上一篇                     
               
			  Java数组如何表示?
- 后端开发
- 2025-07-03
- 2802
 Java中数组的表示方式:使用方括号声明(如
 
 
int[] arr或
 int arr[]),通过
 new关键字初始化(如
 new int[5]),索引从0开始访问元素(如
 arr[0]),数组长度固定,存储相同类型元素。
在Java中,数组是一种基础数据结构,用于存储固定大小的同类型元素,它通过连续内存分配实现高效访问,是处理批量数据的核心工具,以下是详细解析:
一维数组的表示
声明数组
// 语法:数据类型[] 数组名; int[] numbers; // 推荐写法(清晰表明数组类型) String names[]; // 兼容C风格的写法(不推荐)
创建数组
使用 new 关键字分配内存(数组长度固定):
numbers = new int[5]; // 创建长度为5的int数组(默认值:0) names = new String[3]; // 创建长度为3的String数组(默认值:null)
初始化数组
静态初始化(声明时直接赋值):
int[] primes = {2, 3, 5, 7, 11}; 
String[] colors = {"Red", "Green", "Blue"}; 
动态初始化:

int[] scores = new int[3]; scores[0] = 90; // 索引从0开始 scores[1] = 85; scores[2] = 78;
多维数组的表示
二维数组(矩阵)
// 声明与创建
int[][] matrix = new int[3][3]; // 3行3列
// 静态初始化
int[][] grid = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
// 访问元素
System.out.println(grid[1][2]); // 输出:6(第2行第3列) 
不规则数组
每行长度可不同:
int[][] jaggedArray = new int[2][]; 
jaggedArray[0] = new int[]{1, 2};      // 第1行2个元素
jaggedArray[1] = new int[]{3, 4, 5};   // 第2行3个元素 
关键特性与操作
-  长度获取 
 使用length属性(非方法):int len = primes.length; // 返回5 
-  遍历数组  // for循环 for (int i = 0; i < primes.length; i++) { System.out.println(primes[i]); } // 增强for循环(只读) for (String color : colors) { System.out.println(color); }
-  数组复制 - System.arraycopy():高效复制- int[] source = {1, 2, 3}; int[] dest = new int[3]; System.arraycopy(source, 0, dest, 0, source.length);
- Arrays.copyOf():简化操作- int[] copy = Arrays.copyOf(source, source.length); 
 
-  常见异常 - ArrayIndexOutOfBoundsException:索引越界(如访问- arr[5]但数组长度为4)
- NullPointerException:未初始化数组直接访问
 
注意事项
- 定长限制
 数组创建后长度不可变,需动态扩容时建议用ArrayList。
- 默认值规则 
  - 数值类型(int,double等):0
- 布尔类型(boolean):false
- 引用类型(String, 对象等):null
 
- 数值类型(
- 内存效率
 数组内存连续,访问时间复杂度为 O(1),适合高频随机访问场景。
工具类推荐
java.util.Arrays 提供常用操作:

import java.util.Arrays; // 排序 Arrays.sort(primes); // 二分查找(需先排序) int index = Arrays.binarySearch(primes, 5); // 转换为字符串 System.out.println(Arrays.toString(primes)); // 输出:[2, 3, 5, 7, 11]
Java数组通过索引高效访问元素,是处理有序数据的基石。
- 一维数组:数据类型[] 变量名 = {值1, 值2, ...};
- 多维数组:数据类型[][] 变量名 = new int[行][列];
- 核心操作:长度用 length,遍历用循环,工具类选Arrays。
引用说明:本文内容参考Oracle官方Java文档(Arrays in Java)及《Java核心技术·卷I》第10版,实践代码基于Java 17语法验证。
 
  
			 
			 
			 
			 
			 
			 
			 
			