数组概述和特点
数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它
数组的四个基本特点:
1. 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
2. 其元素必须是相同类型,不允许出现混合类型。
3. 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
4. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。
创建数组和初始化
动态初始化 数据类型[] 数组名 = new 数据类型[元素个数或数组长度];
数组定义与为数组元素分配空间并赋值的操作分开进行
静态初始化
除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。
1、类型[] 数组名 = new 类型[]{元素,元素,……};
2、类型[] 数组名 = {元素,元素,元素,……};
注:
1. 声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。因此,声明数组时不能指定其长度(数组中元素的个数),例如: int a[5]; //非法
2. 声明一个数组的时候并没有数组被真正的创建。
3. 构造一个数组,必须指定长度。
内存图
构建数组:
创建基本类型一维数组示例:
public class Test{ 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 } }
创建引用类型一维数组示例:
class Man{ private int age; private int id; public Man(int id,int age) { super(); this.age = age; this.id = id; } } public class AppMain { public static void main(String[] args) { Man[] mans; mans = new Man[10]; //1 Man m1 = new Man(1,11); Man m2 = new Man(2,22); //2 mans[0]=m1; mans[1]=m2; //3 } }
数组的界限
下标的合法区间:[0, length-1]
汇总:1定义4特点3初始化方式!