Java开发

JAVA中的一维数组

2025-02-03 23 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]);  
// 输出:40

4. 数组长度

通过 数组名.length 获取数组长度(注意是属性,不是方法):

int[] numbers = {10, 20, 30};
System.out.println(numbers.length); 
 // 输出:3

5. 遍历数组

使用普通 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/double0/0.0
booleanfalse
引用类型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 循环。

  • 操作数组时需避免越界和空指针异常


点赞 0

我的名片

网名:梦宇信息技术

职业:软件开发、Mes系统工程师

现居:福建省-福州市

QQ:703159

站点信息

  • 联系QQ:703159
  • 文章统计97篇文章
  • 标签总数6
  • 加我微信:扫码,加我微信