基本概念:
数组的定义语法:
- 声明并开辟数组:
- 数据类型 数组名称[] = new 数据类型[长度];
- 数据类型[] 数组名称 = new 数据类型[长度];
- 分布完成:
- 声明数组:数据类型 数组名称[] = null;
- 开辟数组:数组名称 = new 数据类型[长度];
数组开辟之后之后可以采用 数组名称[下标|索引] 访问,但是所有数组的下标都是从0开始;
数组定义时就开始静态初始化操作:
- 简化格式:数据类型 数组名称[] = {值、值、值...};
- 标准格式:数据类型 数组名称[] = new 数据类型[] {值、值、值...};
数组一个重要缺点:不能动态改变长度;
二维数组:
- 动态初始化:数据类型 数组名称 [][] = new 数据类型[行的个数][列的个数];
- 静态初始化:数据类型 数组名称 [][] = new 数据类型[][]{{值、值、值...},{值、值、值...}};
数组与方法参数的传递:
在进行数组的引用传递的过程中,方法对数组的修改一定会影响到原始数据;
例子:实现数组的逆序
- 方法1:先创建一个数组,把要逆序的数字倒叙拿出来插入到这个数组中;
- 方法2:两个索引,前一个索引加一,后一个索引减一,然后交换数据;
数组的操作方法:
- 数组拷贝: System.arraycopy(源数组名称,源数组拷贝开始索引,目标数组名称,目标数组拷贝开始索引,长度)
- 数组排序:java.util.Arrays.sort(数组名称);
对象数组:
定义对象数组(以类为例),定义格式:
动态初始化:
- 声明并开辟对象数组:类名称 对象数组名称[] = new 类名称 [长度];
- 分步完成:
- 声明对象数组: 类名称 对象数组名称[] = null;
- 开辟对象数组:对象数组名称= new 类名称 [长度];
静态初始化:
- 类名称 对象数组名称[] = new 类名称 []{实例化对象,实例化对象,实例化对象...};