-
数组介绍 -
数组名: 创建数组内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。 -
下标(或索引):从0开始 -
数组是引用数据类型, 元素相当于类的成员变量, -
数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化 -
数组中的元素可以是基本数据类型也可以是引用数据类型
-
数组的声明 -
声明:String[] names; -
int scores[];
-
数组初始化:静态初始化、动态初始化 -
静态初始化:数组的初始化和赋值是同时进行的 -
names = new String{"12","34","56","78"}; -
动态初始化:数组的初始化和赋值分开进行 -
String[] names2 = new String[5]; -
names2[0] = "123"; -
下面的方式数组的声明和初始化不能分开。
int[] age = { 1, 2, 3, 4, 5, 6 }; -
数组元素的默认值 -
byte、short、int、long -->0 -
float、double --->0.0 -
bolean --> \u0000 -
引用数据类型(类、数组、接口)--->null
-
一维数组内存解析 -
String[] persons = new String[3]; -
String[] persons2 = persons; -
//persons 和 persons2 实际上指向的是同一块内存
堆、栈、方法区 -
堆(heap):用来存放对象的实例,只要是new出来的都在堆里 -
栈(stack): 存储局部变量, 如基本数据类型、对象引用(reference类型,它不等同于对象本身,是对象在堆内存的首地址) -
方法区(Method Area):用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。
|