1.数组
定义
数组,是多个想同类数据按一定顺序排序的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理
数组的概念:1.数组名、2.下划线(或索引)3.元素、4.长度
1.1创建数组
一维数组范式
1.数据已知
重点: 数据类型[] 数组名 = {1,2,3,4,5,6};
数据类型[] 数组名 = new 数据类型[]{1,2,3,4,5,6};
2.数据未知
数据类型[] 数组名 = new 数据类型[10];
必须告知JVM开辟几个空间
数组中每一个元素是该类型数据的默认值
整数 :0
小数:0.0
char 空
false
String : null
//你告诉我要录入几个人
int arrLength = sc.nextInt();
int[] arr = new int[arrLength];
//定义一个累加变量
int sum = 0;
for(int i = 0 ;i < arr.length ; i++){
arr[i] = sc.nextInt();
sum += arr[i];
}
int avg = sum / arrLength;
二维数组
1.定义
二维数组实际上是一个以一维数组做为元素的一维数组
2.范式:
1、数据类型[][]数组名={{1,2},{3,4}};
2、数据类型[][] 数组名=new 数据类型[长度];
多维数组
特点以及出现条件
1、三维以及以上的数组很少使用;
2、主要使用二维数组
3、从语法上Java支持多维数组
4、从内存分配原理的角度讲,只有一维数组。
补充:
1.二分法
1.查找算法
2.适用于二分法的数组必须式有序的数组
通常用二分法的一般都是数字类型数组
3.核心思路:缩小查找范围,提高查找效率
4.“游标” 初始值:0,length-1 随着后续的拆分和判断改变它的值
5.“中间值”计算公式:(开始下标 - 结束的下标)/2
Math.abs();
2.队列插入
原来有一个有序的数组
插入一个数,让这个数组任然保持一个原有顺序
一个数组
{1,2,4,7,9,10,0}
1.找到目标数存放的位置
2.移开目标位置及其后序位置
数组倒着循环,从最后一个开始往后移