什么是数组(Array)
数组, 一组相同类型的数据, 存储在一串连续的内存空间中.
数组有4个要素:
1. 数组名称, 它表示的是数组首元素的地址
2. 数组元素, 构成数组的数据个体
2. 元素类型
3. 元素下标, 从0开始
length表示数组的长度, 即元素个数. 数组中最后一个元素的下标是length-1.
数组的长度一旦确定就不可更改.
操作数组时, 要注意下标不要越界, 否则产生ArrayIndexOutOfBoundsException(数组下标越界异常).
语法
声明数组:
数据类型[] 数组名;
分配空间:
数组名 = new 数据类型[长度];
访问数组中的元素:
数组名[下标]
特别的写法:
int[] numbers = {1,2,3}; //这个不能拆成2句!
int[] numbers = new int[]{1,2,3};
数组元素的默认值
元素类型 |
默认值 |
int |
0 |
double |
0.0 |
char |
'\0' |
boolean |
false |
String |
null |
循环和数组的配合使用
对数组的操作通常需要循环. 这件事通常称为"遍历".
for(int i=0; i<数组名.length; i++){
// code here
}
数组排序
快速排序: java.util.Arrays.sort(数组名);
冒泡排序:
N个数字来排队
两两相比小靠前
外层循环N-1
内层循环N-1-i
其它排序算法:
选择排序, 插入排序, 归并排序, 基数排序, ...
java.util.Arrays类
它是一个对数组进行操作的工具类, 它提供若干个函数.
toString(): 将数组中的元素连接起来, 如: [item1, item2, ...]
sort(): 快速排序
fill(): 填充数据到数组中
copyOf(): 复制数组中的元素到新数组
binarySearch(): 二分法查找