数组的声明和赋值
声明赋值方式 | 语法 |
---|---|
先声明,再分配空间 | Type[] 数组名;数组名 = new Type[长度]] |
声明并分配空间 | Type[] 数组名 = new Type[长度] |
声明并赋值 | Type[] 数组名 = new Type[]{e1, e2, …} |
声明并赋值(简) | Type[] 数组名 = new {e1, e2,…} |
注:简化方式中,数组的声明和赋值必须在同一条语句中,不可以分成两行
在为数组分配空间后,使用for循环来对数组进行初始化(必须是分配空间后,数组一旦分配完空间,其长度就不可再变,如果要改变数组长度,请使用ArrayList)
数组的默认值
数值型:0
char型:\u0000
布尔型:false
数组的使用
使用下标访问数组元素
使用for或增强for循环(foreach语句)遍历数组
复制数组
- 使用for循环逐个复制数组元素
- 使用System类中的静态方法arraycopy
arraycopy(sourceArray, srcPos, targetArray, tarPos, length)
其中,srcPos和tarPos表示源数组和目标数组的起始位置,复制的元素个数由length指定,复制前必须创建目标数组并分配内存空间(arraycopy违反了Java的命名规则) - 使用clone方法复制数组
Type[] targetArray = sourceArray.clone()(targetArray不必事先分配空间)
数组与方法
- 数组作为参数传入方法
- 数组作为方法结果返回
上面两种用法中,传入和返回的都是方法的引用 - 变长参数列表
修饰符 方法名(类型名…参数名)
只能有一个变长参数,且必须在参数列表的最后(Java将变长参数当作数组对待)
数组的排序
冒泡排序法:相邻两个元素比较大小,互换位置
选择排序法:固定元素与其它元素比较大小,互换位置
JDK排序法:调用java.util.Arrays.sort()方法(默认升序)
java.util.Arrars类
该类提供了一系列静态方法以实现常用的数组操作
sort:排序
binarySearch:二分查找
fill:使用固定值填充数组
toString:返回数组中所有元素组成的字符串