Java数组详解:定义、访问、遍历及常见算法
该思维导图总结了Java数组的核心知识。涵盖数组概述(为什么要用数组,数组定义、特点),数组定义与访问(三种定义格式及取值赋值),数组遍历(长度获取及for循环遍历),数组初始化(动态初始化默认值和静态初始化),数组内存分配(栈、堆、方法区等),数组常见问题(索引越界、空指针异常)以及数组算法(查找最大值和冒泡排序)。 图中清晰地展现了Java数组的知识体系,并对关键概念进行了详细阐述。
源码
# Java数组详解
## 数组概述
### 为什么使用数组
#### 存储多个相同类型的数据
#### 提高访问效率
### 什么是数组
#### 有序的数据集合
#### 固定大小
### 数组的特点
#### 连续内存分配
#### 支持随机访问
#### 类型一致
## 数组定义与访问
### 数组的定义格式
#### 格式一:数据类型 数组名= new 数据类型 长度
##### 示例:int[] arr = new int[5];
#### 格式二:数据类型 数组名= new 数据类型 元素1,元素2,元素N
##### 示例:int[] arr = new int[]{1, 2, 3};
#### 格式三:数据类型 数组名= 元素1,元素2,元素N
##### 示例:int[] arr = {1, 2, 3};
### 数组的访问
#### 取值:数组名[索引]
#### 赋值:数组名[索引] = 值
## 数组遍历
### 数组长度:数组名.length
### for循环遍历数组
#### 基本for循环
#### 增强for循环
## 数组初始化
### 动态初始化
#### 整数型:默认值为0
#### 浮点型:默认值为0.0
#### 字符型:默认值为空字符
#### 布尔型:默认值为false
#### 引用类型:默认值为null
### 静态初始化
#### 由系统决定数组长度
#### 显式指定数组长度
## 数组内存分配
### 栈
#### 存储局部变量
### 堆
#### 存储实际数据
### 方法区
#### 存储类信息
### 本地方法栈
### 寄存器
### 数组引用存储的是地址值
## 数组常见问题
### 数组索引越界异常 ArrayIndexOutOfBoundsException
#### 原因:访问不合法索引
#### 解决:检查索引范围
### 空指针异常 NullPointerException
#### 原因:未初始化引用数组
#### 解决:初始化数组
## 数组算法
### 找出数组最大值
#### 定义数组
#### 假设第一个元素为最大值
#### 遍历比较
#### 保存最大值
### 冒泡排序
#### 比较相邻元素
#### 交换元素
#### 重复步骤
#### 直到无元素比较
### 其他常见算法
#### 选择排序
#### 插入排序
#### 二分查找
图片