1、数组是什么?
数组即为一个容器,它可以用来装许多相同类型的数据。
2、数组的定义方式 ----> 两种
(1) int[] arr = new int[5];
a、左边解析:
定义了一个变量arr,其类型为 [ ] 型(即数组类型),而 int 则表示该数组中的每一个元素都为 int 类型(即整数类型)的数据。
b、右边解析:
通过 new 方法创建了一个长度为5的数组 [5 ] ,而通过 int 指出数组中每一个元素的数据类型为 int 类型。
c、内存空间划分区域:
arr变量访问数组的原理,不是将数组赋给了arr变量,而是将数组的首地址传递给了arr变量,使得arr变量可以通过下标去访问到数组中的每一个元素。
1)栈内存特点:
局部变量都会进入栈内存中。
2)堆内存特点:
a、只要是用了new关键字的对象都会进入到堆内存中,并且会为其分配一个首地址。
b、堆中 的每一个值都会有一个初始值。
c、当没有变量指向其开辟的空间时,垃圾回收机制会自动回收。
3)特殊情况:
当我们将arr赋值为 null 的时候,此时arr将不再指向该数组的首地址,因此此时arr将不能再访问数组中的数据,而堆中的数据就会被垃圾回收机制回收
(1) int[] arr ={12,45,67,21,10};
使用这种方式创建数组,表示 在创建数组的同时为每一个元素进行赋值。
当我们想要访问拥有N个元素中的每一个数据时,可以采用以下方式:
for(int i = 0 ; i < arr.length ; i++){
System.out.println(arr[i]);
}