【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢迎各路豪杰点评改进!
[1]
🔥知识点内容
🔓1. 数组概念 [2]
数组是
一组类型相同的数据的集合
;
也就是说,数组中可以存储多个数据
,但是这些数据的类型必须相同
;
数组能够作为数据的容器使用,把多个数据集中存储;
存储在数组中的数据,都有相应的索引值
,可以方便获取或修改
;
当需要同时保存多个类型相同的变量并进行处理时,可以考虑用数组,例如:多个人的成绩、多个员工的薪资……
image.png
🔓2.数组的特性 [3]
Java的数组是
引用类型
;
数组与类、接口、枚举、注解并列,是引用类型中的一种;
Java的数组长度一经确定不能改变
;
例如,一个数组的长度是10,那么最多能存10个数据,如果保存第11个就会出错;
数组在内存中是连续分配
,所以读取速度快
🔓3. 数组元素 [4]
数组中存储的数据称为数组的元素
(Element);
数组本身是引用类型,但是数组中的元素可以是基本数据类型,也可以是引用类型
;
也就是说,即可以有存储基本数据类型int的数组,也可以有存储引用类型String的数组,但是数组本身是引用类型
数组中的元素有索引值,索引值从0开始
也就是说,如果一个数组的长度是10
,那么索引值就是0-9
,也就是第一个元素的索引值是0,第二个的索引值是1,以此类推,通过索引值可以方便访问元素
如果打印输出的索引超出,产生以下异常
java.lang.ArrayIndexOutOfBoundsException
即:数组下标越界异常
🔓4.数组的维数 [5]
如果一个数组中存储数据结构如下所示,元素都是单个数据,称为一维数组
元素是一维数组,称为二维数组;
image.png
🔓5. 一维数组的定义方式 [6]
数组元素类型[ ] 变量名称;
或
数组元素类型 变量名称[ ] ;
例如:
int[] a; 或 int a[];
String[] s; 或 String s[];
🔓6. 一维数组的初始化 [7]
第一种:
数组元素类型[ ] 变量名称=new 数组元素类型[数组长度];
Int[] a=new int[3];
第二种:数组元素类型[ ] 变量名称=new 数组元素类型[]{用逗号隔开元素的具体值};
Int[] a=new int[]{1,2,3,4};
第三种:数组元素类型[ ] 变量名称= {用逗号隔开元素的具体值}
Int[] a={1,2,3,4,5};
image.png
🔓7. 如何获取数组中的元素内容 [8]
数组名称[索引值]
image.png
🔓8. 数组元素的默认值 [9]
基本数据类型:默认值与基本数据类型默认值一致
引用数据类型:null
image.png
🔓9. 数组长度 [10]
在创建数组的时候,
一定要确定数组的长度
;
数组的长度将在初始化数组元素的时候同时初始化到内存中;
使用数组变量名.length
可以返回数组的长度;
🔓10. 数组的遍历 [11]
很多时候我们需要对数组中的元素一个一个取出来使用
,这个过程叫遍历;
遍历数组需要使用到循环控制,
循环的次数用数组的长度控制
;
先简单理解数组遍历的循环语句,包括传统的for循环和增强for循环两种;
传统的for循环
image.png
增强for循环
for(数据类型 变量名称:数组或者集合){
直接使用变量名称 就是我没需要的数组或者集合中的每一个元素
}
image.png
🔓11. 排序 [12]
11.1选择排序
![](https://img.haomeiwen.com/i3610663/9a14d24bab9e083b.png)
11.2冒泡排序
小口诀:两层循环,外层循环n-1,内层循环n-1-i
![](https://img.haomeiwen.com/i3610663/80ab89316857620f.png)
![](https://img.haomeiwen.com/i3610663/f8a3293820a9aaa4.png)
11.3插入排序
![](https://img.haomeiwen.com/i3610663/3016ea2bbbe01f42.png)
🔓12. 二维数组 [13]
二维数组的声明创建形式如下,其他多维数组的声明创建方式类似,区别就是多增加[];
如果同时确定一维和二维的长度
,则表示数组的元素是等长的一维数组
;
如果数组元素不是等长的一维数组
,可以不指定二维长度
;
数组元素类型[ ][ ] 变量名称=new 数组元素类型[一维长度] [二维长度]
int[][] a=new int[3][5]
image.png
二维数组:有一个一维数组,里面的每个元素都是一个一维数组
image.png
🔓13. 二维数组的遍历 [14]
![](https://img.haomeiwen.com/i3610663/1f43708df4129397.png)
🔓14. Arrays工具 [15]
Java API中有一个类 Arrays,定义了大量的sort方法,可以对数组中元素进行排序;
静态类Arrays
此静态类专门用来操作array ,提供搜索、排序、复制等静态方法。
//equals:比较地址
地址不一样 false 学习面向对象之后 学习
equals():比较两个array是否相等
。array拥有相同元素个数,且所有对应元素两两相等。
sort():用来对array进行排序
。
binarySearch():在排好序的array中寻找元素
。
Arrays.asList(array):将数组array转化为List (此种方法不正规)
网友评论