一、什么是数组。
数组是相同类型的变量按顺序组成的一种复合数据类型,这些相同类型的变量称为数组的元素或单元。数组通过数组名加索引来使用数组的元素,索引从0开始。
二、数组的声明。
A。声明数组有两种方式:
1.数组的数据类型 数组名字[];
2.数组的元素类型[] 数组名字;
注意:java与C++/C不同,java不允许在声明数组中的方括号内指定数组元素的个数。如果像这样子声明:
int a[12]、或者 int[12] a;
会导致语法错误。
B。创建数组。
声明数组仅仅是给出了数字名字和元素的数据类型,要想真正使用数组还必须为它分配内存空间,即创建数组。
为数组分配内存空间的格式为:
数组名字 = new 数组元素的类型[数组元素的个数];
三、使用数组。
A。使用数组。
1.length的使用。
数组的元素个数称为数组的长度。对于一维数组,对于一维数组,数组名字.length的值就是数组中元素的个数;对于二维数组数字名字.length的值是它含有的一维数组的个数。
2.对于char a[]类型的数组,println()输出的是他的内容,而不是地址。
当println(” “+a)时才会输出它的引用。
3.数组的表示格式。
int []a={1,2,3,4}
Arrays.toString(a)得到的字符串是
[1,2,3,4]
B。复制数组。
1.arraycopy方法。
public static void arraycopy(sourceArray,int index1,copyArray,int index2,int length)
可以将数字sourceArray从索引index1开始的length给元素中的数据复制到数组copyArray中,即将数组sourceArray中的索引值从index1到index1+length-1元素中的数据复制到数组copyArray的某些元素中,copyArray数组从第index2元素开始存放这些数据。如果数组copyArray不能存放下复制的数据,程序运行将发生异常。
2.public static double[] copyof(double[] original,int newLength)
可以把参数original指定的数组中从索引0开始的newLength个元素复制到一个新数组,并返回这个新数组,且该数组的长度为newLength。如果newLength。如果newLength的值大于original的长度,copyof方法返回的新数组的第newLength索引后的元素去默认值。
3.public static double[] copyofRange(double[] original,int from,int to)
方法可以把参数original指定的数组中从索引from至to-1的元素复制到一个新数组中,并返回这个新数组,即新数组的长度为to-from。如果to的值大于数组original的长度,新数组的第original.length-from索引开始的元素去默认值。
C。数组的排序与二分法查找。
1.public static void sort(double a[])
可以把参数a指定的double类型数组按升序排序。
2.public static void sort(douule a[],int start,int end)
可以把参数a指定的double类型数组中索引star和end-1的元素的值按升序排序。
3.public static int binarySearch(double[] a,double numble)
判断参数number指定的数是否在参数a指定的数组中,即number是否和数组a的某个元素的之相同,其中,数组a必须是事先已排序的数组。如果number和数组a中某个元素的值相同,那么int binarySearch(double[] a,double number)方法返回(得到)该元素的索引,否则返回一个负数。