一维数组
A.数组的定义
*数组是一个变量,存储相同数据类
*声明一个变量就是在内存空间划出一块合适的空间
*声明一个数组就是在内存空间划出一串连续的空间
B.数组基本要素
a.标识符:数组的名称,用于区分不同的数组
b.数组长度属性:length
c.元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问
*数组长度固定不变,避免数组越界
C.数组的声明,分配空间,赋值
a.声明数组: 告诉计算机数据类型是什么
*数据类型 数组名[];
*数据类型[] 数组名;
***声明数组时规定数组长度
b.分配空间: 告诉计算机分配几个连续的空间
*声明数组并分配空间
*数据类型[]数组名=new 数据类型[大小]
c.赋值:向分配的格子里放数据
***先声明后创建
数据类型[] 数组名;
数组名=new 数据类型[ 数组长度 ];
***声明的同时创建
数据类型[] 数组名=new int[数组长度];
D.一维数组的初始化
*在声明数组时还可以直接指定数组的具体内容。
a.静态初始化
1)数据类型[] 数组名={初值0,初值1,…,初值n};
eg:int[] score={66,77,88};
2)数据类型[] 数组名=new int[此处不能写个数]{初值0,初值1,…,初值n }
eg:int[] score=new int[]{66,77,88};
b.动态的获取(从键盘录入)
Scanner input=new Scanner(System.in);
E.遍历数组
a.通过for循环获取数组元素的下标,然后遍历对应元素
b.foreach输出
for(数据类型 变量名称:数组名称){
…
}
F.方法的可变参数
a.方法中可接收的参数不再是固定的,而是可以根据需要传递数量不等的参数个数
b.格式:返回值类型 方法名称(类型… 参数名称){
}
*注意:向方法传递可变参数后,参数在方法内部是以数组的形式保存下来的
G.数组拷贝
System类中有一个静态方法:
public static native void arraycopy(Objectsrc, int srcPos,
Object dest, int destPos, int length);
参数解释:
src: 源数组
srcPos: 源数组的起始位置
dest: 目标数组
destPos:目标数组的起始位置
length:拷贝的数组元素个数
**arraycopy(src,srcPos,dest,destPos,length);