您的位置:首页 > 编程语言 > Java开发

JavaSe基础XX02——数组

2014-07-25 01:07 375 查看
数组的概念:

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

格式:

1. 元素类型[] 数组名 = new 元素类型[元素的个数]; int [] a= new int [5];

2. 元素类型[] 数组名 = new 元素类型[]{元素,元素,......};
int [] a = new int[] {1,2,3,4};

数组,一旦建立,必须给他指定长度。如 int [] array = new int [3];

内存的划分:

1.寄存器-------- 给CPU的

2.本地方法区-----本地系统平台的

3.方法区

4.栈内存

5.堆内存

栈内存:

存储的都是局部变量。

凡是定义在方法中的变量都是局部变量,通常都会有所属的函数。

例:

for(int x = 0;x< 4;x++){ }

system.out.print(x); //注意:是打不出x的值的。

栈内存:变量所属的作用域一旦结束,该变量就会自动释放。

局部代码块的作用:限定局部变量的生命周期

堆内存:

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

堆会随时释放么?不会。

特点:

1. int [] arr = new int[3];

堆,是存放实体的。实体作用:封装数据。

程序运行,会先进栈。因为,局部变量都在方法中,方法不进栈,怎么执行。

默认情况下,都会给默认初始化值为0.——这是堆的特征。不同数据类型,初始化也不一样。boolea 默认是false。

堆内存的特征:

1. 每个实体都有首地址值。

2.堆内存中的每一个变量都有默认初始值,根据类型的不同,整数是0,小数是0.0或0.0f,boolean 是false,char '\u0000'——Unicode表。

3.释放方式:垃圾回收机制



多个引用变量,可以指向同一个实体。

数组操作中的一些问题:

1、当引用型变量没有任何实体指向时,还在用实体操作方法,会发生异常

2、角标越界

3、system.out.print(arr); [I@c0314
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: