在上一篇 Java 基础博客中,我们学习了变量、数据类型、流程控制。我们知道单个变量只能保存一个数据,但在实际开发和做题中,我们经常需要存储一组相同类型的数据,例如:全班同学的成绩、一周的气温、多名用户的ID。
 
这时,数组(Array) 就是 Java 中最基础、最重要的数据容器。
 
数组是 Java 高频考点、算法基础、后续集合与数据结构的前置知识。本篇博客带你从零彻底搞懂数组的全部核心用法。
 
一、什么是数组?
 
1. 数组的定义
 
数组是一组「相同数据类型」的有序集合,在内存中是连续存储的。
 
通俗理解:
 
- 单个变量 = 一个水杯,只能装一杯水
- 数组 = 一排固定数量的水杯,统一规格、整齐排列
 
2. 数组四大核心特点(必考)
 
1. 类型统一:数组中所有元素必须是同一种数据类型;
2. 长度固定:数组一旦初始化,长度不可改变;
3. 下标有序:数组从  0  开始编号(下标/索引 index);
4. 内存连续:查询速度极快,增删相对麻烦。
 
重点:Java 数组下标从 0 开始,最大下标 = 数组长度 - 1
 
二、Java 数组的两种定义格式
 
Java 数组分为 动态初始化 和 静态初始化,适用场景不同。
 
1. 动态初始化(先开空间,后赋值)
 
适合:已知长度、未知具体内容
格式:
 
 
 
示例:定义一个长度为5的int数组
 
 
 
2. 静态初始化(直接给出元素)
 
适合:已知具体内容,不用手动写长度
简化格式(最常用):
 
 
 
完整格式:
 
 
 
三、数组默认值规则(非常重要)
 
如果只开辟空间、没有手动赋值,数组会自动赋予默认值:
 
- 整数类型(int、long、byte、short):默认 0
- 浮点类型(double、float):默认 0.0
- 布尔类型 boolean:默认 false
- 字符类型 char:默认空字符
- 引用类型(String、对象):默认 null
 
四、数组基本操作:取值、赋值、获取长度
 
1. 获取数组长度
 
 
 
2. 根据下标取值、赋值
 
 
 
3. 常见报错:数组下标越界
 
 
 
原因:访问了 不存在的下标
例如长度为5的数组,合法下标:0~4,写 arr[5] 直接报错。
 
五、数组遍历(最核心、必会)
 
遍历:从头到尾取出数组每一个元素,是求和、找最值、排序的基础。
 
方式1:普通 for 循环(最万能,可修改元素)
 
 
 
方式2:增强 for 循环(只读、简洁)
 
适合只查看数据,不修改数组内容
 
 
 
六、数组经典基础案例(作业常用)
 
案例1:数组求和
 
需求:求数组所有元素累加和
 
 
 
案例2:求数组最大值
 
 
 
七、二维数组简单理解(拓展)
 
一维数组:一排数据  {1,2,3} 
二维数组:表格结构(行、列)
 
定义与遍历示例:
 
 
 
二维数组常用于:矩阵运算、表格数据存储。
 
八、新手最容易踩的坑
 
1. 下标从0开始,习惯性从1开始遍历导致漏元素或越界;
2. 数组长度固定,不能像变量一样随意增减元素;
3. 分不清 length(数组属性,无括号) 和 length()(字符串方法,有括号);
4. 动态初始化后不赋值,直接输出,看到默认值以为出错;
5. 遍历结束后,最值/总和变量写在循环内部,导致无法输出结果。
 
九、总结
 
1. 数组是同类型、连续、定长的数据容器;
2. 分为动态初始化(定长度)、静态初始化(定内容);
3. 核心操作:遍历、取值、赋值、求长度;
4. 所有数组算法(排序、查找、去重)都基于循环遍历;
5. 数组是后续 Java 集合、数据结构、算法刷题的基础。
 
一句话总结:变量存单个数据,数组存一批数据,Java 批量处理数据全靠数组!

更多推荐