一.一维数组:实质上是一组相同数据类型的线性集合;
1.先声明,再用new运算符进行内存分配:
声明后,只是定义了数组的名字和数组的数据类型;想要真正的使用需要给它分配内存空间。分配内存空间时必须指明数组的长度。(以整型数组为例)。
1.声明:int []数组名; int 数据名 [];
2.分配内存空间:数组名=new int [12];
3.声明,分配空间:int [] 数组名=new int [12];
2.初始化一维数组:
int arr[]=new int []{1,6,9,4,3}
int arr[]={5,8,9,34}
二.二维数组(表中行列的形式组织)
1.先声明,再用new运算符进行内存分配:
(1):直接为每一维数组分配内存空间。a = new int [2][4];
(2):分别为每一维分配内存。
a = new int[2][];
a[0] = new int[2];
a[1] = new int[3];
2.二维数组初始化:
int 数据名[][]={{1,6,3},1,6,6}} / /int 数据名[][]={ { { 1,6,3} ,{1} },1,6,6} } 三维数组。
三.数组的基本操作
1.遍历数组:
双层for()循环:(二维数组),一层for()循环:(一维数组)。
2.填充替换数组:
Arrays.fill ( arr,int value)————values表示数组arr,中所有的元素都替换成 value.
Arrays.fill ( arr. 下标开始,下标结束,value)——arr数组中被标记的区间替换填充为value。
3.排序数组:
Arrays.sort(arr); ————根据字典编排顺序排序,数字在字母前面,大写字母在小写前面。
4.复制(截取)数组:
Arrays.copyOf( arr, int newlength)——如果数组为{1,2,3}, newlegnth=5 输出{1,2,3,0,0}
Arrays.copyOfRange( arr, 开始,结束的下标)——区间左闭右开。
5.查询数组:
Arrays.sort(arr);
(1)Arrays.binarySearch(arr,搜索值);——如果没有搜索值,则返回 -1或者"-"。如果所有的元素都小于key(搜索值)。则返回 arr.length(当且仅当找到值,返回值大于0)。
(2)Arrays.binarySearch(arr,开始,结束下标,搜索值);——如果没有搜索值,则返回 -1或者"-"。如果所有的元素都小于key(搜索值)。则返回 结束下标 (当且仅当找到值,返回值大于0)。
(3)当查询的范围大于数组则报错。
6.数组排序法:
(1)冒泡排序:双层for,再定变量进行数字调换。
(2)直接选择排序:一层for,定义变量array[i]>array[变量],变量=i,定义临时变量转换。
(3)反转排序:把数组最后一个和第一个调换.(前提是先排序)
for(int i= 0;i<数组长度/2;i++){ int temp =array[i]; array[i]=array[数组长度-1-i;....]}
网友评论