java数组
1、什么是数组
数组用于将相同类型的数据,存储在连续的存储单元中。
注意:(1)数组中有length属性用来记录数组的长度,length属性是final类型的,这说明length属性不可被修改,即一旦定义了数组的长度,数组便不能被修改。
(2)java中数组是引用类型的数据,只能存放在堆内存中
(3)数组必须通过new关键字为其分配内存。数组所占内存的区域的释放由jvm的垃圾回收线程来完成。
(4)创建数组并赋值的方式必须在一条语句中完成。int[] arry1 ;
arry1 = {1};是错误的。
2、数组的定义方式
(1)int[] a = new int[10];
(2)int a [] = new int[10];
(3)定义时直接初始化
int[] a = {1,2,3,4};
int[] a = new int[]{1,2,3,4}; //在此int[]里面不能指定数组长度,因为长度是由数组里面的元素决定的。
3、数组的内存分配
(1)定义int[] s时,内存模型:
s=new int[5] 时,内存模型:
for(int i = 0 ; i < 5 ; i++){
s[i] = i;
}时,内存模型:
(2)定义引用类型数组时
数组元素不为基本原生数据类型时,存放的是引用类型,而不是对象本身。当生成对象之后,引用才指向对象,否则引用为null。
Person[] a = new Person[10];
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
输出10行都是null。
(3)Array类的equal方法可比较数组是否相等,也可自己写方法,判断两个数组的每个元素是否都相等。