-
数组介绍
-
数组名: 创建数组内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。
-
下标(或索引):从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):用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。
|