1.什么是数组?
数组是相同类型数据的集合,数组的内存存储空间是连续的
- 可以使用以下三种方式声明数组:
- 数据类型 标识符 [ ];int[] array;
- 数据类型 标识符[ ] = new 数据类型[大小];int[] array = new int[5];
- 数据类型 标识符 [ ] = {值 1,值 2,…值 N} ;int[] array = {4,8,7,3,1,5};
- 注意:数组是对象属于引用类型;基本数据类型的数组也是对象。
-
int[] numbers = new int[]{4,8,3,7,1,5,6,2} ok
int[] numbers = new int[8]{4,8,3,7,1,5,6,2} error
2.数组的特点
- 数组的内存空间大小固定的,一但JVM为数组分配内存空间就不能再变大或变小。
- 数组元素通过下标访问,下标从0开始,最后一个元素的下标为arr.length-1。
- 能不能再重新创建已经声明且已使用的数组? 从编程的角度来说是可以的, 但是JVM会将原来分配存放的空间丢弃,从新分配一块存放的内存空间,那么原来的数组就丢失了。
3.基本数据类型和引用数据类型的区别
内存存储形式的不同是基本数据类型和引用数据类型本质的区别,引用数据类型的名称实际代表的是存放引用数据类型的地址,不是引用数据类型本身。
4.值传递和引用传递的区别
- 采用值传递时,传递的实质是数值的副本,所以在调用使用值传递交换数据方法时,只是在方法内将值的副本的数据内容进行了交换,其数据本身并没有发生变化。
- 采用引用传递时,传递的实质为引用的地址。在调用引用传递交换数据时,是对这个地址指向的数据进行了交换,即对元数据的值进行了交换。
5.二维数组
声明并创建二维数组的语法形式如下: 数据类型 [][] 数组名;或 数据类型 数组名 [][]; 数组名 = new 数据类型[第一维长度][第二维长度]; 注意:创建的时候,可以同时设置第一维长度和第二维长度,也可以只设置第一维长度,但不可以只设置第二维长度。