Java 中的数组和C/C++中的数组概念上基本相同
1:数组变量的声明
下面两种创建数组的方式在JAVA中都是合法的
int [] score; String[] name;
和 int score[]; String name[];而c/c++只支持前一钟写法
2:创建数组对象
数组对象和其它 JAVA对象一样,也是new语句创建。new语句执行以下步骤。
a:在堆区(heap)中为数组分配内存空间,
b:为数组中的每个元素赋予其数据类型的默认值,例如int类型的数组默认类型是0。(在heap中分配的没初始化的对象都会默认进行初始化)。
c:返回数组对象的引用。
d:数组创建以后,数组长度就是没法改变的。
3:访问数组的元素和长度
和c/c++一样都是用索引的方法访问数组中的每个元素
4:数组的初始化
数组被创建后,每个元素被自动赋予其数据类型的默认值。另外,还可以在程序中对数组元素显示初始化
int [] x=new int[5];
for(int i=0;i<x.length;i++)
x[i]=x.length-1;
为了简化编程,也可以按如下方式创建并初始化数组
int [] x=new int[]{1,2,3,4,5};
char[] y=new char[]{'a','b','c','d'}
String[] z={“1”,“2”};
以下是非法的数组初始化方式
int[] x=new int[5]{1,2,3,4,5},//编译错误,不能自[]中指定数组的长度
以下也是非法的
int [] x;
x={1,2,3,4,5}
5:多维数组
最重要的一点就是,在>=2维以上的数组中,要注意区分数组元素和数组对象引用
6:调用数组对象的方法
java数组继承了object类,因此继承了Object类的所有方法,
7:数组实用类:Arrays
在java.util包中,有一个用于操纵数组的使用类:java.util.Arrays,它提供了一系列的静态方法
equals():比较两个数组是否相同,只有当数组中元素数目相同并且对应位置的元素也都相同时,才表明数组相同。
fill():向数组中填充数据
sort():把数组中的元素按升序排列。如果数组中的元素为引用类型,则会采用自然排序方式。
binarySearch():按照二分查找算法,查找数组中值与给定数据相同的元素。在调用该方法时,必须保证数组中的元素已经按照升序排列。
toString():返回包含数组中所有元素信息的字符串