Java数组,你想要的重点都在这。

1.数组的概述

数组 , 就可以理解为多个多个数据的组合

是程序中的容器 : 数组 , 集合框架(以后会将 : List , Set , Map)

数组存储中的数据的特点 : 依次紧密排列 , 有序的 , 可以重复的

此时的数组 , 集合框架都是在内存中对多个数据的存储 .

数组的其他特点 : 一旦初始化 , 其长度就是确定的 , 不可更改的

2.一维数组的使用 (重要)

①数组的声明和初始化

int arr = new int10;

String arr1 = new String {"Tom" , "Jerry"};

②调用数组的指定元素 : 使用角标 , 索引 , index

index从0开始!

③数组的属性 : length , 表示数组的长度

④数组的遍历 : for(int i = 0; i < arr.length; i ++)arri

⑤一维数组的内存解析(难度有点高)

前提 : 在main( )中声明变量 : int arr = new int {1, 2, 3};

虚拟机栈 : main( )作为一个栈帧 , 压入栈空间中 . 在main( )栈帧中 , 存储着arr变量 . arr记录着数组实体的首地址值 .

堆 : 数组实体存储在堆空间中 .

3.二维数组的使用 (难点)

二维数组 : 一维数组的元素 , 有啥一个唯一数组 , 则构成了二维数组

①数组的声明和初始化

②调用数组指定的元素

③数组的属性 : length , 表示数组的长度

④数组的遍历 : 同上

⑤数组元素的默认初始化值 0 或 false

⑥二维数组的内存解析(难)

4.数组的常用算法(重要)

数值型数组的特征值的计算 : 最大值 , 最小值 , 总和 , 平均值等

数组元素的赋值 . 比如 : 杨辉三角 ; 彩票随机生成数 (6位 : 1-30 ; 不能重复) ; 回形数

数组的复制 , 赋值

数组的反转

数组的扩容 , 缩容 : 先new一个大数组,然后再把之前的数组里的内容放进去

数组的查找 : 二分法

线性查找

二分法查找

数组的排序 :

冒泡排序 : 最简单

快速排序 : 最常用

5.Arrays工具类的使用

熟悉一下内部的常用的方法

toString( ) / sort( ) / binarySearch( )二分法

6.数组中常见的异常

ArrayIdexOutOFBoundsException

NullPointerException

易错的知识点

1.数组有没有length( )这个方法?String有没有length( )这个方法?

数组没有length( ) , 是length属性

String有length( )方法

2.有数组int arr , 用Java代码将数组元素顺序颠倒

可以两两互换位置

也可以用栈

也可以用StringBuilder(后面会说)

相关推荐
jyyyx的算法博客3 分钟前
传球游戏【思维】
算法
FL162386312911 分钟前
关于2026年南昌大学811信号与系统最后一题电路系统解题思路
算法
殷色玫瑰11 分钟前
C++ STL:map 与 set 详解——从底层红黑树到实际应用
c语言·数据结构·c++·算法·visualstudio·rpc
Sarvartha16 分钟前
Object 类
java·开发语言
行者全栈架构师18 分钟前
【鸿蒙心迹】鸿蒙网络请求架构实战——@ohos.net.http 到 Axios 封装、拦截器与统一错误处理(HarmonyOS 7.x)
前端·算法·架构
知守观18 分钟前
feign-core 就在依赖树里,运行时却找不到类:一次 provided scope 引发的启动失败排查
java·spring cloud·maven
她的男孩19 分钟前
企业接口照样拦得住:独立 Flyway、@RequiresFeature 与离线许可证
java·spring boot·后端
十年Java程序媛20 分钟前
Lambda 与函数式接口|别只会复制 ()->{},底层规则和坑一次性讲清
java·spring boot·后端
Nozokime27 分钟前
ThreadLocal 在流式 Agent 里静默失效:LangChain4j 轨迹埋点的零侵入方案
java
小宋102132 分钟前
OpenTelemetry GenAI可观测性实战:串起模型、工具、Token与错误
java·人工智能·算法·贪心算法