------- android培训、java培训、期待与您交流! ----------
数组
数组是一种存放相同类型数据的容器。
1、定义格式
如下:
元素类型[] 数组名;
其中 元素类型 表示要存放的元素是什么类型,这个类型可以是基本数据类型,也可以是引用数据类型。
[] 表示是几维数组,一对表示1维,两对表示2维。
数组名 表示该数组的代称。
照格式写的数组仅仅定义了,还未初始化,不能被使用。
2、数组的初始化
格式如下:
数组名 = new 元素类型[元素个数];
数组名 = new 元素类型[]{值,值,……,值};
数组名 = {值,……,值};
需要说明的是,大括号这种初始化模式无法被使用在多维数组中。
3、数组的访问
数组初始化后,若想使用数组整体,则调用 数组名 即可。
若想访问数组中的元素,则按以下格式访问元素即可:
数组名[ 数组角标 ]
其中,数组角标为从 0 到 数组长度-1,即第一个元素的角标为0,最后一个元素的角标为 数组长度-1
4、数组使用的注意事项
1)数组是引用数据类型,数组名中存放的值是数组首元素的地址值,而不是具体的元素数值。
2)数组角标和元素的-1对应关系,所以要注意越界的问题(此问题在遍历数组时比较容易遇到,报错为 ArrayIndexOutOfBoundsException )
3)把数组作为参数传递时需要注意,不要传了空值(NullPointerException 空指针异常)
4)因为数组是引用型数据类型,所以它是存储在堆内存中的,类似全局变量,如果两个独立不想干的函数调用了同一个数组,可能会互相产生影响。
int[] p = new int[10];
/**
* 用于遍历数组并输出到控制台上
*/
public void show() {
for (int i = 0; i < p.length; i++) {
System.out.print(p[i] + " ");
}
}
/**
* 填充数组
*/
public void fill() {
for(int i =0;i<p.length;i++){
p[i]=(int) (Math.random()*10);
}
}
public static void main(String[] args) {
HelloWorld hw = new HelloWorld();
hw.fill();
hw.show();
}
该例子中的两个方法都是独立的方法,但是因为都对本类的数组做操作,所以数组产生了结果。
这也说明了数组在某些时候可以用来传递数据。