一、数组的概念介绍
数组:数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们.
二、数组的四个基本特点:
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 } }
结果截图:
该示例在内存中的内存结构图为:
创建引用类型一维数组示例:
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; } } |
1
2
3
4
|
public class AppMain { public static void main(String[] args) { Man[] mans; mans = new Man[ 10 ]; //1 |
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 } } |