一.数组的定义:
数组是具有相同类型数据的一组集合。例如球类的结合------足球、篮球、羽毛球等等。可以将这类集合称之为数组。数组的每个元素具有相同的数据类型。在java中,同样将数组看做一个对象,虽然数据类型不是对象,但由基本数据类型组成的数组确是对象。
二.数组的划分:
数组可以根据数组的维数将数组划分为一维数组、二维数组、.......
三.如何创建一维数组:
数组作为对象允许使用new关键字进行对象的创建,即分配内存空间。
1.创建数组的方式:先声明,再用new运算符进行内存分配;
声明数组有两种方式:
数组元素类型 数组名字[ ];
数组元素类型 [ ]数组名字;
在声明数组后还不能访问它的任何元素,因为声明数组只是给出了数组名字和元素的数据类型,要想真正的使用数组,还要为他分配内存空间。在为数组分配内存空间时必须指定数组的长度。
创建数组的格式为:
数组元素类型 数组名字 = new 数组元素的类型[ 数组元素的个数 ];
数组名字连接到数组变量的名称,数组元素的个数指的是数组的长度;
注意:在使用new关键字分配类型时,整形数组中的各个元素的初始值为0;
2.数组的初始化(初始化就是给数组赋值)
初始化的方式有两种:
int arr[ ] =new int{1,2,3}; //第一种初始化方式
int arr2[ ]={34,23,12}; //第二种初始化方式
四.如何创建二维数组:
1.二维数组的声明:
二维数组声明的语法:
数组元素的类型 数组名字[ ][ ];
数组元素的类型[ ] [ ] 数组名字;
二维数组创建的格式:
int [ ][ ] a=new int [ 2][ 4];//第一种方式,直接分配内存
int a = new int[ 2][ ];//第二种方式分别为每一位分配内存
a[ 0]=new int[2 ];
a[ 1]=new int [ 3];
2.二维数组初始化:
type arrayname[ ] [ ]={value1,value2,......};
例如:int myarray[ ] [ ]={{1,2},{3,4} }; a[ 0][1 ]=2;
五.数组的基本操作
1.对数组进行排序
语法:Arrays.sort(object);
2.复制数组
语法如下:
copyOf(arr,newlength);arr表示要复制的数组对象,newlength表示新的数组长度;
copyOfRange(arr4,int forindex,int toindex);arr表示要复制的数组对象,forindex指定复制数组的索引位置,toindex要复制后的最后索引位置;
3.数组查询
语法如下:
binarySearch(Object [ ] a,Object key);a表示要搜索数组,key表示要搜索的值;
binarySearch(Object [ ] a,int forindex,int toindex,Objecct key);a表示要搜索的数组;forindex 表示指定范围的开始索引出(包括),toindex指定范围的结束索引出(不包括);key表示要搜索的值;