数组的定义:同一种类型数据的集合,比如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中的垃圾回收器就会自动在某个时间回收这个没有指向的对象,从而节省内存空间