JAVA数组详解
Java数组:
数组时相同类型的数据按顺序组成的一种复合数据类型。
通过数组名加数组下标使用数组中的数据。下标从0开始。
数组的声明格式:
数组元素类型 数组名[]
数组元素类型[] 数组名
例: int Array[]; int[] Array;
在为数组分配内存空间时必须指明数组的长度
格式:数组名 = new 数组元素类型[数组元素个数]
声明数组和创建数组可以一起完成;int Array[] = new int[10]。
一维数组通过下标访问自己的元素,下标从0开始,下标越界将发生异常。
数组的初始化:
给数组元素分配内存并未数组元素赋初始值的过程称为数组初始化。初始化可分为动态初始化和静态初始化。
静态初始化:
当数组元素的初始化值直接二由括在大括号“{}”之间的数据给出时,就称为静态初始化。
适用于数组的元素不多且初始元素有限时,往往和声明结合在一起使用。
格式:array_type array_Name={element1 element} 例:String names[] = {“helloword” ,”java”,”TT”}
动态初始化:
先用new操作符为数组分配内存,然后才为每一个元素赋初始值。
例:String name[]
names =new String [3];
names[0] = “helloword”;
names[1] = “java”;
name[3] = “TT”;
复制数组的三种方法:
1.用循环语句逐个复制数组的元素:
int[] sourceArray = {2,3,4,5,88};
Iint[] targetArray new int[sourceArray.length];
for(int i=0;i<sourceArray.length;i++){
targetArray[i] = sourceArray[i];
}
2.用System类中的静态方法arraycopy,不用循环:
System.arraycopy(sourceArray , 0 ,targetArray , 0 , sourceArray.length); 解释:System.arraycopy(源数组,源数组中起始位置,目标数组,目标数组中起始位置,复制元素的个数)
3.用clone方法复制数组
clone方法时对象类Object中的方法,可以创建一个单独内存空间的对象。
不是所有的对象都可以克隆。要成为一个可克隆的对象,它的类必须是新啊java.lang.Cloneable接口。
tarArray = (int[])sourceArray.clone();
给方法传递数组参数
java使用值传递的方式将实参传递给方法。
对于基本数据类型的参数,传递的是实参的值
对于数组类型的参数,参数值是引用,传递的是这个引用
二维数组
声明:int twoDim[] = new int[4][];
第二种:twoDeim[0] = new int[5];
twoDeim[1] = new int[5];