数组:是一个将同种类型的数据存储在存储单元中。
可以用三种方式声明数组:
1、数据类型 标识符[];
int mothDays[];
2、数据类型 标识符[] = new 数据类型[大小];
int mothDays[] =new int [12];
3、数据类型 标识符[] = {值1,值2,...值N};
int mothDays[] = {31,28,31,30,31,30,31,31,30,31,30,31};
备注:数据类型可以是基本数据类型,也可以是引用数据类型。
数组的赋值:
1、数据类型 标识符[] = {值1,值2,...值N};
int mothDays[] = {31,28,31,30,31,30,31,31,30,31,30,31};
2、数据类型 标识符[] =new 数据类型[]{值1,值2,...值N};
int mothDays[] =new int []{31,28,31,30,31,30,31,31,30,31,30,31};
3 、标识符[下标值] = 值N;
mothDays[2] = 28;
数组的遍历:
1、for(int i = 0; i
//遍历的操作执行语句
}
2、for(数据类型 迭代变量: 数组名){
//通过迭代变量操作;
}
使用API中的Arrays管理数组的排序、复制、查找、填充。
排序:
Arrays.sort[数组名]; //全部升序排序
Arrays.sort[数组名,下标值1,下标值2]; //部分排序
复制:
1 importjava.util.Arrays;2
3 public classArraysCopy{4 public static voidmain(String [] agrs){5 int a []={1,3,5,7,6,4,2};6 System.out.println("原数组:");7 for(inttemp: a){8 System.out.print(temp+" ");9 }10 System.out.println();11 int b[] = Arrays.copyOf(a,10);12 int c[] = Arrays.copyOf(a,5);13 int d[] = Arrays.copyOfRange(a,2,5);14 int e[] = new int[3];15 System.arraycopy(a,2,e,0,3);16
17 System.out.print("b数组从a数组中复制的结果:");18 for (inttemp: b){19 System.out.print(temp+" ");20 }21 System.out.println();22
23 System.out.print("c数组从a数组中复制的结果:");24 for (inttemp: c){25 System.out.print(temp+" ");26 }27 System.out.println();28
29 System.out.print("d数组从a数组中复制的结果:");30 for (inttemp: d){31 System.out.print(temp+" ");32 }33 System.out.println();34
35 System.out.print("e数组从a数组中复制的结果:");36 for (inttemp: e){37 System.out.print(temp+" ");38 }39 System.out.println();40
41 }42 }
结果:
原数组:
1 3 5 7 6 4 2
b数组从a数组中复制的结果:1 3 5 7 6 4 2 0 0 0
c数组从a数组中复制的结果:1 3 5 7 6
d数组从a数组中复制的结果:5 7 6
e数组从a数组中复制的结果:5 7 6
查找:Arrays中的方法。
binarySeacher(int a[], int key); //第一个参数被查找的数组,第二个参数是要查找的参数。
binarySeacher(int a[], int from, int to,int key);
填充:在数组赋值的时候使用到。
fill(int a[],int key); //第一个参数被填充的数组,第二个参数是要赋给每个数组的参数值。
fill(i nt a[],int from, int to,int key)
1 importjava.util.Arrays;2
3 public classArraysFill{4 public static voidmain(String [] agrs){5 int a []=new int[5];6 Arrays.fill(a,10);7 System.out.print("a数组中填充赋值初始化的结果:");8 for(inttemp: a){9 System.out.print(temp+" ");10 }11 System.out.println();12 Arrays.fill(a,3,4,20);13
14 System.out.print("a数组部分填充赋值的结果:");15 for (inttemp: a){16 System.out.print(temp+" ");17 }18 System.out.println();19
20
21 }22 }
结果:
a数组中填充赋值初始化的结果:10 10 10 10 10
a数组部分填充赋值的结果:10 10 10 20 10