1.常见概念
- 数组名
- 下标(索引)
- 元素
- 数组长度
2.概述
- 数组本身是引用数据类型,而数组中的元素可以是任意数据类型,包括基本数据类型和引用数据类型
- 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址
- 数组长度一旦确定,不能修改
3.分类
- 按照维度:一维、二维...
- 按照元素的数据类型:基本数据类型元素、引用数据类型元素的数组(对象数组)
4.一维数组的声明和初始化
(1)静态初始化
int[] ids; ids=new int[] {1001,1002,1003,1004};
(2)动态初始化
String[] names=new String[5];
(3)数组元素的默认初始化值
如:
int[] ids=new int[4]; for(int i=0;i<ids.length;i++) { System.out.println(ids[i]); }
此时循环输出数组元素的结果是4个0
总结:
- 数组元素是整型:0
- 数组元素是浮点型:0.0
- 数组元素是char型:0 (不是‘0’)
- 数组元素是Boolean型:false
- 数组元素是引用数据类型:null
5.多维数组的使用
从数组底层来看,其实没有多维数组
(1)静态初始化
int[][] arr=new int[][] {{1,2,3},{4,5,6},{7,8,9}};
(2)动态初始化
int[][] arr01=new int[3][2]; // 三个元素构成的数组,每个数组有两个元素(前面一个方括号必须写)
(3)其他正确的写法
int[] arr4={1,2,3,4,5}; // 类型推断 int[] arr5[]={{1,2,3},{4,5,6},{7,8,9}};
二维数组的调用:arr[1][2];
多维数组同理
多维数组的内存以一个二维数组为例:
- arr[0]——存的第一个数组元素的地址值
- arr[0][0]——第一个数组元素的第一个元素