一.创建一维数组:数组元素类型[] 数组名字;
eg:int[] a; 声明int型数组,数组中的每个元素都是int型数值
String[] str[];声明String型数组,数组中的每个元素都是String型数值
声明数组后,不能立即访问他的元素,因为声明数组只是给出了数组名字和元素的数据类型,要想真正的使用数组,还要为他分配内存空间。在为数组分配内存空间时必须指明数组的长度,为数组分配内存空间的语法格式如下:
数组名字=new 数组元素的类型{数组元素的个数};
二.声明的同时为数组分配内存
数组元素类型 数组名=new 数组元素的类型[数组元素的个数];
int[] a=new int[5];
三.初始化一维数组
静态初始化一维数组: int[] array={100,111,222};
动态初始化一维数组:int [] array=new int[]{11,111,1111};
//动态初始化
int[] array1=new int[]{11,111,1111};
//遍历数组
for(int i=0;i<array1.length;i++){
System.out.print(array1[i]+" ");
}
//静态初始化
int[] array2={22,222,2222};
for(int i=0;i<array2.length;i++){
System.out.print(array2[i]+" ");
四.二维数组的创建
数组元素类型[][] 数组名字;
为二维数分配内存空间: int array=new int[3][4]
二维数组的静态初始化:
int[][] array1={{1,1,1},{2,2,2},{3,3,3}};
动态初始化
int[][] array2=new int[3][4]
int[][] array3={{1,1,1},
{2,2,2},
{3,3,3},
{4,4,4,4,4}};
for(int i=0;i<array3.length;i++){
for(int j=0;j<array3[i].length;j++){
System.out.println(array3[i][j]);
}
五.填充替换数组元素
(1)fill(int[] a, int value):该方法可将指定的int值分配给int类型数组的每个元素
int[] array=new int[]{2,3,4,5,6,7};
Arrays.fill(array,24);
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}//24 24 24 24 24 24
(2)fill(int[] a, int fromIndex,int toIndex,int value):该方法将指定的int值分配给int型数组指定范围中的每个元素,填充的范围从 fromIndex(包括)一直到toIndex(不包括),如果fromIndex=toIndex,则填充范围为空
int[] array=new int[]{2,3,4,5,6,7,23,566};
Arrays.fill(array,3,6,12);
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}//2 3 4 12 12 12 23 566
六.复制数组
(1)arraycopy(Object src, int srcPos,Object dest, int destPos,int length)
int[] array=new int[]{2,3,4,5,6,7,23,566};
int[] array1=new int[15];
System.arraycopy(array,2,array1,1,5);
for(int i=0;i<array.length;i++){
System.out.print(array1[i]+" ");
}//0 4 5 6 7 23 0 0
七.数组查询
(1)binarySearch(Object[] a,Object key)
a:要搜索的数组
key:要搜索的数值
int[] array = new int[]{2, 3, 4, 5, 6, 7, 23, 566};
int x=Arrays.binarySearch(array, 23);
System.out.println(x);//6
(2):binarySearch(Object[] a, int fromlndex,int tolndex,Object key):在指定的范围内检索某一元素
int[] array = new int[]{2, 3, 4, 5, 6, 7, 23, 566};
int x=Arrays.binarySearch(array, 2,7,23);
System.out.println(x);
八.数组排序
Arrays.sort(Object)
int[] array = new int[]{23,24,5,1,234,56,43,56,100};
Arrays.sort(array);
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}//1 5 23 24 43 56 56 100 234