概念
数组(Array)是有序的元素序列,将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。
数组的特点
1.数组是用于储存多个相同类型数据的集合,数据类型必须完全一致。
2.数组中的各元素存储是有先后顺序的,内存通过先后顺序将元素连续存储在一起,存值有顺序,有下标
3.数组的大小是固定的
声明数组
声明
int[] a;
int b[];
赋值
a=new int[]{96,94,91,90,88,86,91};
动态初始化
String[] a=new String[5];(推荐)
String a[] =new String[5];
静态初始化
int[] a={1,5,6,9};(推荐)
int a[]={1,5,6,9};
增删改查
说明:静态初始化方法不适合做增删改查
//所有的增删改查都基于a数组进行
int[] a = new int[100];
a[0] = 15;
a[1] = 14;
a[2] = 5;
a[3] = 22;
a[4] = 1;
a[5] = 88;
a[6] = 3;
a[7] = 66;
//遍历
for (int i = 0; i < a.length; i++) {
if(a[i]==0){
break;
}
System.out.print(a[i]+" ");
}
查询
//查找3在数组中有没有存在
for (int i = 0; i < a.length; i++) {
if(a[i]==0){
break;
}
if(a[i]==3){
System.out.println("3在数组中已存在,其下标是"+i);
}
}
修改
//将15修改为77
for (int i = 0; i < a.length; i++) {
if(a[i]==0){
break;
}
if(a[i]==15){
a[i]=77;
}
}
增加
往数组的末位增加一个55
for (int i = 0; i < a.length; i++) {
if(a[i]==0){
a[i]=55;
break;
}
}
删除
//删除22这个元素
for (int i = 0; i < a.length; i++) {
if(a[i]==0){
break;
}
if(a[i]==22){
for (int j = i; j < a.length-1; j++) {
a[j]=a[j+1];
if(a[j+1]==0){
break;
}
}
}
}
冒泡排序
//控制需要冒多少个泡泡(外层)
for (int i = 0; i < arr.length-1; i++) {
//从第0位开始两两比较,最值放右边(arr.length-1)
//当我们已经冒出来几个最值后,那么就不需要和已经冒出来值进行比较了(arr.length-i-1)
for (int j = 0; j < arr.length-i-1; j++) {
if(arr[j]>arr[j+1]){
int a=arr[j];
arr[j]=arr[j+1];
arr[j+1]=a;
}
}
}
面向对象排序
Arrays.sort(arr);//这里只能对数字类型生效
多维数组
二维数组
int[][] arrs={{1,2,3},{4,5,6},{7,8,9}};
//int[][] arr1=new int[3][4];
for (int i = 0; i < arrs.length; i++) {
for (int j = 0; j < arrs[i].length; j++) {
System.out.println(arrs[i][j]);
}
}