java中的数组

来源:互联网 发布:无线信道软件 ios 编辑:程序博客网 时间:2024/06/06 01:50

数组的定义:同一种类型数据的集合,比如int,String,或者某一个类,可以简单的把数组看做是一个容器,但是这容器中存放的数据是同一种类型的,


数组的格式:

元素类型[] 数组名 = new 元素类型[元素个数或数组长度]

实例代码:

int[] a = new int[3];System.out.println(a[2]);
还有一种格式:具体写了数组中元素
<pre name="code" class="java">int[] a = new int[]{1,2,3,4,5,6};
也可以这么写:

<pre name="code" class="java">int[] a = {1,2,3,4,5,6};



定义了int数组,数组的长度为3,当我打印出低三个数据时,为0,我就好奇,后来想一想,因为int数组中每个int型值都是被初始化默认值了,所以为0,如果我们要对其赋值的话,这样做

a[0]=2;

a[1]=4;

a[2]=3;

这就是为数组中每个都赋值了,

那么在内存中是怎么对应的呢?在java JVM中一般有栈内存和堆内存,那么他们2个各自都存储什么数据呢?

栈内存:

1:存储局部变量,而且局部变量所处的作用域一旦结束,该变量在栈内存自动释放,这样就节省了我内存,这是JVM内部所做的优化,所以说栈内存更新速度很快

2:局部变量不会有默认初始化值,必须要给他一个默认的值

堆内存:

1:存放数组 ,集合,对象的

2:凡是new的都是在堆内存中

3:堆内存中的值都有一个默认初始化值,根据类型的不同初始化值就不同.

4:当一个对象在内存中为null时,java中的垃圾回收器就会自动在某个时间回收这个没有指向的对象,从而节省内存空间







0 0