数组是相同类型数据的有序结合。数组描述的是相同类型的若干类型,按照一定的先后顺序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问他其元素。
数组的三个基本特点:
1.长度确定,一旦被创建,大小不可改变。
2.其元素必须是相同类型,不允许出现混合类型。
3.数组类型可以是任何类型,包括基本类型和引用类型。
数组变量属于引用类型,数组也是对象,数组中的每个元素相当于对象的成员变量。
若声明了一个长度为10的int类型的数组,内存动态如下:
public class TestArray { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr01=new int[10]; //创建一个长度为10(length)的int类型的数组,索引下标0~9 String arr02[]=null; //数组的声明方式 /*逐赋值法 arr01[0]=13; arr01[1]=16; arr01[2]=18;*/ //arr01[12]=19; //若超越索引下标,编译正确,运行会报错,数组越界ArrayIndexOutOfBoundsException:12 /*循环初始化数组并读取元素值*/ for(int i=0;i<arr01.length;i++){ arr01[i]=10+i; System.out.println(arr01[i]); } User2[] arr03=new User2[3]; arr03[0]=new User2(1706,"aa"); arr03[1]=new User2(1707,"ab"); arr03[2]=new User2(1708,"ac"); for(int i=0;i<arr03.length;i++){ System.out.println(arr03[i].getName()); } } } class User2{ private int id; private String name; /*构造方法*/ public User2(int id, String name) { super(); this.id = id; this.name = name; } /*写get、set方法*/ public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
数组的初始化方式有3:静态初始化、动态初始化、默认初始化