java中数组是引用数据类型,继承Object,相当于一个容器。在数组中存的对象实际是对象的地址,在java中数组创建后长度不可变。
每个数组带有length属性,用来获取长度。
Java数组中元素统一,如int数组只能存int对象
在内存中,数组元素是连续的。所以数组都是拿第一个元素的地址作为整个的地址。数组中每个元素有下标,从0开始。
数组不能存大数据量,因为很难找到一块很大的连续的内存空间。
声明一个一维数组:
String[] Array;
初始化数组:
动态:
int[] array=new int[5];//表示数组长度5,有5个int类型的0.
String[] array=new String[5];//表示有5个为null的数据
静态:
int[] array={100,20,3,50};
传递数组参数给方法:
fangfa(new int[4])可以,但是要传静态数组,必须写fangfa(new int[]{1,2,3,4}).s
main方法传入的args数组没有元素,用于接收用户输入参数,可以在控制台写java main函数
所在的类 a b c,后面的a b c会自动以空格为界分开,写进args数组.
在myeclispse里面的run configration可以提前给args赋值
如果父类对象的数组存储了子类对象的引用,要注意使用多态。
数组扩容:
先新建一个大容量数组,然后把数组拷贝进去
数组拷贝:
使用System类的arraycopy,需要5个参数
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
源数组,源数组开始位置,目标数组,目标数组开始位置,拷贝长度