Java数组(一)

数组的概念

  • 数组的四要素

    • 元素的类型【也称为数组的类型,例如int double float 等等】
    • 标识符【也叫作数组名】
    • 数组的元素【也叫作数组的成员】
    • 数组的下标【从0开始,到数组长度减1结束,例如长度为n的数组就是0到n-1】
  • 注意

    • 数组元素【数组成员】的访问需要通过数组名结合下标去访问
    • 数组元素一定是同类型的或者兼容类型的

    例如:下面的2重是合法的
    int [] b={12, 23, 34, 'A'};

    double [] a={12.5, 32.4f};

  • 数组的定义与使用

    • 声明数组
      ==注意:== 数组声明的时候不规定长度大小

         可以直接在声明的时候给他分配空降大小

    类型[] 数组名;

    类型 数组名[];
    类型[] 数组名 = new 数组类型[n];

    • 分配空间【就是高度计算机内存准备开辟几个连续的空间】

    数组名 = new 类型[数组长度];    注意:数组的长度也称为元素的个数

    • 赋值

    数组名[下标] = 值;
    数组的赋值移动要通过数组元素一个个赋值,不能直接赋值给数组名

    • 使用数组元素

    使用数组名加下标访问元素  数组名[下标]

数组元素的默认值

  • char 类型---------------------空字符
  • 整型【long/int/short/byte】---0
  • String类型--------------------null
  • boolean类型-------------------false
  • 浮点型【float/double】--------0.0

数组的赋值方式

// 方式1
int[] a = {1, 2, 3, 4, 5};
// 通过数组组.length获取数组长度
System.out.println(a.length);


// 方式2
int[] b = new int[]{1, 2, 3, 4, 5, 6};
// 通过数组组.length获取数组长度
System.out.println(b.length);
  • 注意:方式2的new后面的[] 中不能指定数组长度
  • 以上方式一和方式二的赋值必须在一行上面完成【即声明的同时赋值】
// 典型错误
int = c;
c = {1, 2, 3}

// 以下不报错,但是不建议这么用
int = c;
c = new int[]{1, 2, 3}
  • 可以使用循环语句结合数组的下标给数组赋值

数组的内存模型

  • 栈内存----存放数组名【实际存放的是指向一块堆内存的地址】
  • 堆内存----通过new 关键字开辟出来的空间区域【实际存放数组元素的集合】
  • 注意:

    • 当栈中没有任何引用指向这块堆内存区域的时候,JVM虚拟机会多段时间过来回收掉这块堆内存区域
    • 当栈内存中的引用不指向任何堆内存的时候,它也会被释放掉
    • 数组名就是一个堆内存区域的引用
  • 类似一根线牵着一个风筝,如果这根线断了,那么这个风筝就费了,成了垃圾,需要被回收掉。

增强型for循环

  • 语法格式
for (类型 element : 集合){
    
    // element 表示取出的集合中的成员
    
}

注意:一般使用增强型for循环取出数组元素,而不使用它去修改数组元素

Last modification:December 14th, 2017 at 10:56 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment