java学习之数组

数组:多个相同类型的数据集合,并对这些数据统一管理

数组变量属于引用类型,数组也可以看成是对象。

数组中的元素可以是任何数据类型,包括基本基本类型和引用类型

一位数组声明: type  name[] 或type[] name  。但实际上用的最多的是后者,它可以同时声明多个一维数组。并且在《阿里巴巴java编写规范》中强制使用第二种。

java语言中声明数组时不能指定其长度。如int a[5]是错误的写法。(与c/c++不同)

java中使用new关键字创建数组对象,格式:name =new type[数组元素个数]


java学习之数组

内存分析:

java学习之数组

int[] s时在栈中开辟一个内存空间,因为没有对其初始化,所以此时没有引用值,当s=new int[5]在堆中开辟5个连续的内存空间,且其初始值都为0,此时s的引用值指向新开辟空间。

当数组元素为引用类型时:

java学习之数组

在栈内存中开辟一个空间

java学习之数组

当new后,在堆内存开辟3个连续的内存空间,因为是引用类型,系统会自动设置其默认值为null

java学习之数组

当实例化每个数组中的引用类型时,计算机又会在堆内存中开辟内存空间,且数组中的引用类型会指向新开辟的内存空间。