哈喽自学Java的小白宝子们👋接上篇函数干货,零基础第二大核心考点——数组来了!

有没有写代码写到崩溃的家人?

要存10个学生成绩、20个用户名,只能挨个定义变量,score1、score2、score3……变量写到手抽筋🤯

改数据要改几十处、遍历数据无从下手、代码杂乱难管理!

Java数组直接根治这个痛点!一个容器,收纳所有同类数据,批量存取、批量修改一键搞定,考试必考、开发必用、面试高频,全篇无代码,人话全拆解,看完直接满分通关✅


🔥人话通俗解读:数组到底是什么?

抛开官方晦涩定义,大白话一句话懂数组:

专属收纳盒!同一个盒子里,只能放一模一样类型的数据,还能统一管理、统一操作所有数据

✅不能混搭:装整数就只能放整数,不能混放文字、小数

✅统一管控:存数据、取数据、改数据,批量一键操作

✅省时省力:不用批量创建一堆零散变量


📌数组标准三步走使用流程(新手必背)

所有数组使用,逃不开:声明→分配空间→使用三步,固定流程不会错!

1、声明:给收纳盒起名、定品类

提前规定盒子存什么数据,给盒子取名,业内公认标准写法:数据类型[] 数组名

⚠️写法避雷:另外两种奇葩写法能运行,但开发禁止使用,考试认准标准写法即可

2、分配空间:规定盒子容量大小

声明完盒子,必须设定能放多少个数据,也就是数组长度,定好初始容量

3、实操使用:存取核心规则(必考重点)

盒子里每一个空位,都有专属编号,这个编号就是下标

💥核心铁律:下标永远从0开始!

下标范围:0 ~ 数组总长度-1

✅存数据:找准编号,把数据放进对应空位

✅取数据:找准编号,调取空位里的数据

⚠️全网最高频报错:数组下标越界

只要访问超出下标范围的编号,代码能编译、一运行直接崩盘报错,新手90%bug都出自这里!

✅数组遍历:挨个查看盒子所有数据,借助循环一键访问全部元素,不用逐个调取

✅获取容量:自带专属属性,一键查看数组一共能存多少数据


💡懒人知识点:数组自带默认值,不用手动赋值

只要开辟好数组空间,系统自动给所有空位填充初始值,零基础直接背表格即可👇

1、整数类型:默认0

2、小数类型:默认0.0

3、布尔类型:默认false

5、文字/对象类型:默认null(空值)

📝四种数组定义方式,分清对错不踩坑

方式1:拆分定义(先起名、后定容量)

方式2:一步定义+分配空间

方式3:标准静态初始化

❌禁忌:括号内绝对不能手动写长度,写了直接报错

懒人快捷写法,硬性红线:声明和赋值必须写在同一行!分开写直接报错,千万别踩坑

⚙️重难点理解:数组底层内存逻辑

1、数组所有存储空间,在内存里是紧紧挨在一起、连续排布的

3、下标从零设计:纯为了提升电脑调取数据的寻址速度,算法优化设计

✅基本数据变量赋值:传递真实数值,改一个互不影响


Java数组定长不可逆!一旦建好盒子,容量不能直接变大,扩容只能换盒子,固定三步走思路超好记:

2、把旧盒子里所有数据,完整搬到新盒子

三种扩容实操方式(开发分级使用)

2、系统自带拷贝方法:精准拷贝指定数量数据,自由度高


看源码、调用系统API高频遇见,不用手写,但必须看得懂!

2、核心本质:可变参数底层就是数组,程序会自动转为数组使用

✅一个方法里最多只能设置一个可变参数

4、作用:适配任意数量同类数据,大幅提升代码灵活度

🔥面试重中之重:数组三大排序方式

1、冒泡排序

2、选择排序

3、工具快捷排序


人话理解:数组里面套数组,相当于表格,有行、有列

通过行编号+列编号精准取值,行、列下标全部从零开始

获取总行数、单独获取每一行的列数,自带默认值,和一维数组默认值完全一致

可分步创建、可直接赋值初始化,规则和一维数组一致,禁止行列混搭赋值

每一行存放的数据个数不一样,行数必须提前定义,列数可以后续单独自定义,禁止只定义列、不定义行

💥数组全篇小白速记考点

2、下标越界:访问编号超出范围,必运行报错

4、数组名存内存地址,数组互赋值属于地址传递

6、可变参数本质数组,位置必须放形参末尾

Java零基础全套干货持续连载✨,函数+数组两大基础通关,下期更新数组高频易错题型,点赞收藏不迷路!

更多推荐