前面我们学习了变量、数据类型、运算符与程序控制语句,本章重点学习Java中数组相关知识。数组是存储相同类型数据的核心容器,分为一维数组、二维数组,同时结合Arrays工具类进行数据处理,搭配实战案例讲解,适合课堂复习、课后练习与期末备考。

第一部分 数组基础概念

一、什么是数组

数组是用来存储一组相同类型数据的引用类型容器,用来解决多个同类型数据统一管理的问题。

• 数组长度一旦创建就无法修改

• 通过索引(下标)访问元素,下标从0开始

• 访问超出下标范围会抛出数组越界异常

第二部分 一维数组

一、一维数组定义与初始化

1. 动态初始化:只指定数组长度,系统自动分配默认初始值
// 定义长度为5的int类型一维数组
int[] arr = new int[5];
2. 静态初始化:创建数组时直接赋值,长度由元素个数决定
// 简写形式
int[] arr = {10,20,30,40,50};
// 完整写法
int[] arr = new int[]{10,20,30,40,50};
二、一维数组访问与遍历

通过数组名[下标]访问数组元素,使用循环结构完成数组遍历。

一维数组案例:求一维数组最大值及位置
public class OneArrayDemo {
    public static void main(String[] args) {
        int[] arr = {12,45,7,89,23};
        int max = arr[0];
        int index = 0;
        // 遍历数组寻找最大值
        for(int i=1;i<arr.length;i++){
            if(arr[i]>max){
                max = arr[i];
                index = i;
            }
        }
        System.out.println("数组最大值:"+max+",所在下标位置:"+index);
    }
}
第三部分 二维数组

一、二维数组定义

二维数组可以理解为数组中嵌套数组,适合存储矩阵、表格类数据。

1. 固定行列长度初始化
// 创建3行2列的二维数组
int[][] arr = new int[3][2];
2. 静态初始化
int[][] matrix = {{1,2},{3,4},{5,6}};
二、二维数组遍历与案例

使用双层for循环遍历二维数组。

二维数组案例:求两个矩阵的乘积
public class TwoArrayDemo {
    public static void main(String[] args) {
        int[][] a = {{1,2},{3,4}};
        int[][] b = {{5,6},{7,8}};
        int[][] res = new int[2][2];
        // 矩阵乘法运算
        for(int i=0;i<2;i++){
            for(int j=0;j<2;j++){
                for(int k=0;k<2;k++){
                    res[i][j] += a[i][k] * b[k][j];
                }
            }
        }
    }
}
第四部分 Arrays工具类

java.util.Arrays是Java官方提供的数组工具类,包含大量静态方法,无需创建对象可直接调用,简化数组操作。

常用核心方法

1. Arrays.sort(数组):对数组进行升序排序

2. Arrays.toString(数组):将数组转为字符串,直接打印查看

3. Arrays.binarySearch(数组,目标值):二分查找指定元素

案例:对数组按中文名称排序
import java.util.Arrays;
import java.text.Collator;
import java.util.Locale;

public class ChineseSortDemo {
    public static void main(String[] args) {
        String[] names = {"张三","李四","王五"};
        // 设置中文语言环境,按拼音排序
        Collator collator = Collator.getInstance(Locale.CHINA);
        Arrays.sort(names, collator);
        System.out.println(Arrays.toString(names));
    }
}
本节整体总结

1. 数组是存储相同类型数据的引用类型容器,下标从0开始,长度不可改变

2. 一维数组适合存储单列数据,二维数组适合存储矩阵、表格类数据

3. 数组初始化分为动态初始化、静态初始化,通过循环完成遍历操作

4. Arrays工具类可快速实现数组排序、打印、查找,简化代码开发

5. 掌握数组最值查找、矩阵运算、中文排序等经典案例,是数组学习核心

文末互动

数组是Java开发中高频使用的数据结构,一维、二维数组及Arrays工具类是考试、作业高频考点。代码练习中遇到数组越界、矩阵运算错误、排序异常等问题,欢迎评论区留言交流~

更多推荐