码迷,mamicode.com
首页 > 编程语言 > 详细

java中数组的内容

时间:2018-03-10 22:04:25      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:分享图片   class   寄存器   初始化   style   静态初始化   内存   数据类型   介绍   

              今天了解了一下java中数组的内容。

              数组是用于存储一组有序数据的集合,可以通过数组来保存任何相同数据类型的数据,而数组本身属于引用类型。

               以一维数组为例,数组的声明写成 数据类型[]  数组名。通过这条语句仅仅声明了一个数组变量,并没有创建一个真正的数组,也无法确定数组的长度,这时候数组还不能被访问。在声明了数组之后,就要具体规定数组的大小,给数组分配内存空间,可以通过new操作符来显示创建一个数组,在定义并用运算符new为数组分配空间后,才可以引用数组中的每个元素。当然数组的声明和数组的大小分配可以放到一起完成,即  type [] arr_name = new type[length];接下来就是对数组进行初始化,在java中,数组的初始化有两种,静态初始化和动态初始化。(而在java中,为了保证安全性,防止内存缺失,为已创建的数组提供了默认化初始机制,在创建成功一个数组后,将完成三个动作:1.创建一个数组对象  2.在内存中给数组分配存储空间  3.给数组的元素初始化一个相应的数据类型的默认值。)所谓静态初始化就是在定义数组的时候就对数组进行初始化,例:int k[]={1,3,5,7,9};动态初始化就是将数组的定义和空间分配与给数组元素赋值分开,例:char ch=new char[3];ch[0]=a;ch[1]=b;ch[2]=c;。

             下面讲一下数组的内存空间和内存分配。先介绍java在内存分配时会涉及到的区域:寄存器,栈(存放基本类型和对象的引用,但对象本身不存放在栈中,而是存放在堆中),堆(存放用new产生的数据)。

             首先介绍简单数据类型数组从定义到初始化的内存变化过程。在声明数组的时候,系统会给这个数组分配用于存放这个数组的内存空间,它会在堆内存空间中给数组分配一个空间用于存放数组引用变量,在栈内分配空间存入数组对象的引用;在创建简单数据类型的数组的时候,系统会分配合适的堆空间用来存放该种数据类型数据的内存空间,并且将这个数组的各个元素赋一个和数组类型匹配的初值;当对数组进行初始化时,会将值赋给对应的各个数组元素。

如图:

 

 

         技术分享图片

                     引用数据类型数组从定义到初始化内存变化的过程。引用类型数组的定义和简单数据类型数组的定义基本相同;创建的时候也是首先给数组元素分配内存空间,然后赋给这些数组元素一个默认的初始值null;在进行初始化的时候,因为数组本身也是引用类型,而现在的数组元素也是引用类型,所以数组元素所引用的对象也要分配内存空间。

如图:

技术分享图片

 

java中数组的内容

标签:分享图片   class   寄存器   初始化   style   静态初始化   内存   数据类型   介绍   

原文地址:https://www.cnblogs.com/Wangjiaq/p/8541806.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!