int[] arr = new int[5];
创建长度为5的整型数组,元素默认初始化为0。 ,2. **直接初始化**:String[] names = {"A", "B"};
直接赋值并确定长度。 ,数组长度固定,需指定类型和大小,索引从0开始。在Java中,数组是一种存储固定大小同类型元素的数据结构,实例化数组即为其分配内存空间,这是使用数组前的必要步骤,下面通过具体示例详细说明五种实例化方法:
声明后实例化(分步操作)
// 1. 声明数组 int[] numbers; String[] names; // 2. 实例化数组(分配内存) numbers = new int[5]; // 可存储5个整数 names = new String[3]; // 可存储3个字符串 // 赋值示例 numbers[0] = 10; names[1] = "Alice";
声明同时实例化(一步完成)
double[] prices = new double[4]; // 直接声明并创建4个元素的数组 prices[2] = 15.99; // 索引从0开始
使用初始化器(直接赋值)
char[] vowels = {'a', 'e', 'i', 'o', 'u'}; // 创建含5个字符的数组 int[][] matrix = {{1,2}, {3,4}}; // 二维数组初始化
动态实例化(运行时确定大小)
Scanner sc = new Scanner(System.in); System.out.print("输入数组长度: "); int size = sc.nextInt(); String[] dynamicArray = new String[size]; // 根据输入值创建数组 dynamicArray[0] = "动态创建"; // 安全使用
多维数组实例化
// 规则多维数组 int[][] grid = new int[3][4]; // 3行4列矩阵 // 不规则多维数组 int[][] jagged = new int[2][]; jagged[0] = new int[3]; // 第一行3列 jagged[1] = new int[5]; // 第二行5列
关键注意事项
- 索引范围:数组索引从
0
开始,最大为length-1
int[] arr = new int[3]; arr[2] = 5; // 正确(索引0,1,2) arr[3] = 10; // 报错:ArrayIndexOutOfBoundsException
- 默认值规则:
- 整数类型:
0
- 浮点类型:
0
- 布尔类型:
false
- 引用类型:
null
- 整数类型:
- 长度不可变:数组长度在实例化后固定
int[] fixed = new int[5]; fixed.length = 10; // 错误!无法修改长度
内存原理图解
栈内存 堆内存
arr ---→ [0][0][0][0][0]
(引用) 长度为5的int数组
常见错误解决方案
- 空指针异常:未实例化直接使用
int[] errorArr; System.out.println(errorArr[0]); // 错误! // 正确:先实例化 errorArr = new int[2];
- 类型不匹配:确保元素类型一致
Object[] objArr = new String[3]; objArr[0] = new Integer(10); // 运行时错误!
最佳实践建议
- 优先使用初始化器语法 简化代码
- 循环处理数组时使用
array.length
避免硬编码 - 遍历推荐增强for循环:
for (int num : numbers) { System.out.println(num); }
引用说明:本文内容参考Oracle官方Java教程Arrays及《Java核心技术·卷I》(第11版),代码示例经JDK 17编译验证,符合Java语言规范。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/18243.html