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方法可比较数组是否相等,也可自己写方法,判断两个数组的每个元素是否都相等。

原文地址:https://www.cnblogs.com/fubaizhaizhuren/p/4992315.html