052_数组_数组基本概念

一、数组的概念介绍
  数组:数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们.
二、数组的四个基本特点:
  1.其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
  2.其元素必须是相同类型,不允许出现混合类型。
  3.数组中的元素可以是任何数据类型,包括基本类型和引用类型。
  4.数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

三、数组的创建和初始化  

  1.声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。因此,声明数组时不能指定其长度(数组中元素的个数),例如: int a[5]; //非法
  2.声明一个数组的时候并没有数组被真正的创建。
  3.构造一个数组,必须指定长度。

  声明(一维数组的声明方式有两种)

    1.type[] arr_name;(推荐使用这中方式)
    2.type arr_name[];

  初始化

  1. 静态初始化
  除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。
    int[] a = {1,2,3};
    Man[] mans = {
    new Man(1,1),
    new Man(2,2)
    };
  2.动态初始化
  数组定义与为数组元素分配空间并赋值的操作分开进行。
    int[] a = new int[2];
    a[0]=1;
    a[1]=2;

四、演示示例  

package edu.aeon.test;

/**
 * [说明]:测试一维数组的创建及初始化
 * 
 * @author aeon
 *
 */
public class TestArray {

    public static void main(String[] args) {
        int[] s = null; // 1
        s = new int[10]; // 2
        for (int i = 0; i < 10; i++) {
            s[i] = 2 * i + 1;
            System.out.println(s[i]);
        } // 3
    }

}

结果截图:

  

该示例在内存中的内存结构图为:

blob.png
   

blob.png

blob.png

  创建引用类型一维数组示例:

  

1
2
3
4
5
6
7
8
9
class  Man{
private  int  age;
private  int  id;
public  Man( int  id, int  age) {
     super ();
this .age = age;
this .id = id;
}
}

blob.png

blob.png
   

1
2
3
4
public  class  AppMain {
public  static  void  main(String[] args) {
Man[] mans;   
mans =  new  Man[ 10 ];   //1

blob.png

1
2
3
4
5
6
Man m1 =  new  Man( 1 , 11 );
Man m2 =  new  Man( 2 , 22 );   //2
mans[ 0 ]=m1;
mans[ 1 ]=m2;   //3
}
}

blob.png

猜你喜欢

转载自www.cnblogs.com/aeon/p/9981257.html