Java开发
JAVA中的一维数组
2025-02-03 44 0
简介 JAVA中的一维数组基础知识
在Java中,一维数组是一种存储相同数据类型元素的线性数据结构,通过索引访问元素。以下是关于一维数组的基本说明:
个人见解,如有错误请指出
1. 声明数组
数组的声明需要指定数据类型和数组名,格式如下:
java
方式1:声明数组(未初始化)数据类型[] 数组名; 例如:int[] numbers; 方式2:声明数组(C风格,不推荐)数据类型 数组名[]; 例如:int numbers[];
2. 初始化数组
数组必须初始化后才能使用,常见初始化方式如下:
静态初始化
直接指定元素值,适用于已知具体元素的场景:
java
复制
数据类型[] 数组名 = {元素1, 元素2, ..., 元素n};
示例:int[] numbers = {10, 20, 30, 40, 50};
String[] names = {"Alice", "Bob", "Charlie"};动态初始化
先指定数组长度,再逐个赋值,适用于元素值后续确定的场景:
数据类型[] 数组名 = new 数据类型[长度]; // 示例:int[] numbers = new int[5];
3. 访问数组元素
索引范围:从
0到数组长度。语法:
数组名[索引]
int[] numbers = {10, 20, 30, 40, 50};
System.out.println(numbers[0]);
// 输出:10
System.out.println(numbers[3]);
// 输出:404. 数组长度
通过 数组名.length 获取数组长度(注意是属性,不是方法):
int[] numbers = {10, 20, 30};
System.out.println(numbers.length);
// 输出:35. 遍历数组
使用普通 for 循环
适合需要索引的场景:
for (int i = 0; i < numbers.length; i++) {
System.out.println("索引 " + i + ": " + numbers[i]);}使用增强 for 循环(for-each)
适合仅需访问元素,无需索引的场景:
for (int num : numbers) {
System.out.println(num);}6. 默认初始值
| 数据类型 | 默认值 |
|---|---|
int/double | 0/0.0 |
boolean | false |
| 引用类型 | null |
7. 数组的常见操作
复制数组
java
复制
// 方式1:System.arraycopy()
int[] source = {1, 2, 3};
int[] dest = new int[3];
System.arraycopy(source, 0, dest, 0, source.length);
// 方式2:Arrays.copyOf()
int[] dest = Arrays.copyOf(source, source.length);排序数组
int[] numbers = {5, 3, 8, 1};
Arrays.sort(numbers); // 排序后:{1, 3, 5, 8}8. 常见的一些错误
数组越界(ArrayIndexOutOfBoundsException)
int[] arr = {1, 2, 3};
System.out.println(arr[3]); // 错误!最大索引为2,因为下标是从0开始的空指针异常(NullPointerException)
int[] arr = null; System.out.println(arr[0]); // 错误!数组没有进行初始化
9. 示例代码
public class ArrayExample {
public static void main(String[] args) {
// 静态初始化
int[] scores = {90, 85, 78, 95, 88};
// 遍历并计算总分
int total = 0;
for (int score : scores) {
total += score;
}
System.out.println("总分:" + total); // 输出:436
// 动态初始化
String[] students = new String[3];
students[0] = "Alice";
students[1] = "Bob";
students[2] = "Charlie";
// 输出所有学生
for (int i = 0; i < students.length; i++) {
System.out.println("学生" + (i+1) + ": " + students[i]);
}
}}总结
一维数组是存储相同类型元素的线性集合。
索引从0开始,最大索引为
数组长度-1。初始化方式分为静态和动态,需注意默认值。
遍历时可根据需求选择普通
for或增强for循环。操作数组时需避免越界和空指针异常

