数组

一、定义:同一种类型数据的集合,其实数组就是个容器。

二、好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。

三、格式:1、元素类型 [ ]数组名 = new 元素类型 [ 元素个数或数组长度];

                 2、int[ ] arr = new int[ ]{ 3,5,1,7};或 int[ ] arr = {3,5,1,7};

       new表示新建,创建数组后,系统分配空间,格子里依次装好各元素。若数组没有初始化,随机输出某个元素,系统会输出一个默认值。 (而这就是堆内存:数据没有初始化一般不能用,而堆内存,能自动给它里面的数据默认初始化,栈里面没有,这就是主要区别

四、内存空间的划分:

1、任一软件都需在内存中开辟空间,JVM启动也同样需要开辟空间,而它们还会对自己这个空间进行更细致划分,划分出的每一片内存内部数据的处理方式不同,运算方式不一样。

2、实质上有5个片区:1、寄存器(CPU处理)2、本地方法区(与所在系统相关,比如Java JVM,分版本windows,Linux,ios)3、方法区 4、栈内存 5、堆内存

3、这里主要是栈和堆内存:

栈内存:a、存储的都是局部变量(凡是定义在方法内的变量)

              b、变量强调作用域,一旦离开作用域它就会被释放,没用了你就不能占内存。如:main方法包括它里面的基本上是存于栈中,去栈内存开辟空间。

堆内存:存储的是数组对象(实体,其实数组就是对象)凡是new建立的都在堆中。

              特点:a、每一个实体都有首地址值。b、堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。整数是0,小数是0.0或0.0f,boolean是flase,char是'\u0000'。c、垃圾回收机制。

             堆是针对数组,数组也可以赋值(赋地址):如x,y是已定义的数组的名字,我来个x = y,那么x,y就同时指向y原来所指向的数组,即x [i]和y [i]等同。

五、数组的常见问题:1、当访问到数组中不存在的角标时,就会发生异常。

                                 2、当引用型变量没有任何实体指向时,还在用其操作实体时,也会发生异常(arr= null)。

 

 

转载于:https://my.oschina.net/u/3289211/blog/857518

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值