数组 【java笔记】

  1. 数组概述:
    1. 数组可以看成是多个相同类型数据组合,对这些数据的统一管理。
    2. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。
    3. 数组中的元素可以是任何数据类型,包括基本类型和引用类型
  2. 一位数组的声明(栈)
    1. 声明方式:type var[]; 或 type[] var;
    2. Java语言中声明数组时不能指定其长度(数组中元素的个数),例如:int a[5];//非法
  3. 数组对象的创建(堆)
    1. Java中使用关键字new创建数组对象,格式为:数组名 = new 数组元素类型[数组元素的个数]
    2. 元素为引用数据类型的数组中的每一个元素都需要实例化。
  4. 数组初始化:
    1. 动态初始化:数组定义与数组元素分配空间和赋值的操作分开进行。
    2. 静态初始化:在定义数组的同时就为数组元素分配空间并赋值。
    3. 数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐式初始化。
  5. 数组元素的引用:
    1. 定义并用运算符new为之分配空间后,才可以引用数组中的每个元素,数组元素的引用方式为:
      • arrayName[index]:index为数组元素的下标,可以是整形常量或整形表达式。 
      • 数组元素下标从0开始;长度为n的数组合法下标取值范围为0~n-1。
    2. 每个数组都有一个属性length指明它的长度:a.length的值为数组a的长度(元素个数)。
  6. 二维数组:
    1. 二维数组可以看成以数组为元素的数组。
      • 例如:int a[][] = {{1,2},{3,4,5,6},{7,8,9}}
    2. Java中多维数组的声明和初始化应按从高维到低维(从左到右)的顺序进行:例如:
      • int a[][] = new int[3][];
      • a[0] = new int[2];
      • a[1] = new int[4];
      • a[2] = new int[3];
      • int t1[][] = new int[][4];//非法
    3. 数组 【java笔记】_第1张图片
  7. 数组的拷贝:
    1. 使用java.lang.System类的静态方法:public static void arraycopy(Object src,int srcPos,Object  dest,int destPos,int length)
    2. 可以用于数组src从第srcPos项开始的length个元素拷贝到目标数组从destPos项开始的length个位置。
    3. 如果源数据数目超过数组边界会抛出IndexOutOfBoundsException异常。
  8. 总结:
    1. 数组的内存布局(引用类型)
    2. 常见算法

你可能感兴趣的:(j2SE,学习笔记,java,笔记,内存,数组,二维数组)