基本概念:

数组的定义语法:

  • 声明并开辟数组:
  1. 数据类型 数组名称[] = new 数据类型[长度];
  2. 数据类型[]  数组名称 = new 数据类型[长度];
  • 分布完成:
  1. 声明数组:数据类型 数组名称[] = null;
  2. 开辟数组:数组名称 = new 数据类型[长度];

数组开辟之后之后可以采用 数组名称[下标|索引] 访问,但是所有数组的下标都是从0开始;

数组定义时就开始静态初始化操作:

  • 简化格式:数据类型 数组名称[] = {值、值、值...};
  • 标准格式:数据类型 数组名称[] = new 数据类型[] {值、值、值...};

数组一个重要缺点:不能动态改变长度;

二维数组:

  • 动态初始化:数据类型 数组名称 [][] = new 数据类型[行的个数][列的个数];
  • 静态初始化:数据类型 数组名称 [][] = new 数据类型[][]{{值、值、值...},{值、值、值...}};

数组与方法参数的传递:

在进行数组的引用传递的过程中,方法对数组的修改一定会影响到原始数据;

例子:实现数组的逆序

  • 方法1:先创建一个数组,把要逆序的数字倒叙拿出来插入到这个数组中;
  • 方法2:两个索引,前一个索引加一,后一个索引减一,然后交换数据;

 数组的操作方法:

  • 数组拷贝: System.arraycopy(源数组名称,源数组拷贝开始索引,目标数组名称,目标数组拷贝开始索引,长度)
  • 数组排序:java.util.Arrays.sort(数组名称);

对象数组:

定义对象数组(以类为例),定义格式:

动态初始化:

  • 声明并开辟对象数组:类名称 对象数组名称[] = new 类名称 [长度];
  • 分步完成:
  1. 声明对象数组: 类名称 对象数组名称[] = null;
  2. 开辟对象数组:对象数组名称= new 类名称 [长度];

静态初始化:

  • 类名称 对象数组名称[] = new 类名称 []{实例化对象,实例化对象,实例化对象...};