数组
数组是一种数据结构,用来存储同一类型值的集合。
1. 数组的声明
int[] a;
2. 数组的初始化
a = new int[100];//初始化了一个长度为100的存储int型变量的数组,此时数组里默认存储了100个0
3. 数组元素查找
数组中的元素可以通过数组下标来查找,数组下标从0开始。例如要找数组中第5个元素。
System.out.println(a[4]);//打印数组中第五个元素
4. 数组的赋值
a[0] = 1;//将第一个元素赋值为1
5. 数组排序
选择法排序
- 把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 比较完后,第一位就是最小的
- 然后再从第二位和剩余的其他所有进行比较,只要比第二位小,就换到第二个位置来 比较完后,第二位就是第二小的 。
- 以此类推。
for (int j = 0; j < a.length-1; j++) {
for (int i = j+1; i < a.length; i++) {
if(a[i]<a[j]){
int temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
冒泡法排序
- 第一步:从第一位开始,把相邻两位进行比较,如果发现前面的比后面的大,就把大的数据交换在后面,循环比较完毕后,最后一位就是最大的。
- 第二步: 再来一次,只不过不用比较最后一位。
- 以此类推。
for (int j = 0; j < b.length; j++) {
for (int i = 0; i < b.length-j-1; i++) {
if(b[i]>b[i+1]){
int temp = b[i];
b[i] = b[i+1];
b[i+1] = temp;
}
}
}
6. 数组拷贝
方法一:for循环
for (int i = 0; i < b.length; i++) {
b[i] = a[i];
}
方法二:System.arraycopy(src, srcPos, dest, destPos, length)
//src: 源数组
//srcPos: 从源数组复制数据的起始位置
//dest: 目标数组
//destPos: 复制到目标数组的启始位置
//length: 复制的长度
System.arraycopy(a, 0, b, 0, 6);
注意
- 数组长度允许为0
- 数组一旦被创建,长度不可变
多维数组
可以理解为数组元素是数组的数组。
二维数组的使用
int[][] a = {
{1,2,3,4,},
{5,6,7,8}
}
总结
本篇内容
- 数组的基本使用
下篇内容
案例《家庭记账》