java学习-数组

数组

一组连续的存储空间,存储多个相同数据类型的数据

一维数组

  1. 数组的创建

    // 1. 声明与分配空间分开
    数据类型[] arrayName;
    arrayName = new 数据类型[长度];

    // 2. 声明和分配空间一起
    数据类型[] arrayName = new 数据类型[长度]

    // 3. 声明并赋值(繁):此时数组的长度就是3;注:这时不能在右边的中括号内指定长度
    int[] intArr = new int[]{1,2,3};

    // 3. 声明并赋值(简):
    int[] intArr = {1,2,3}; // 不可换行
  2. 数组扩容:创建数组时必须显示的指定数组长度,且创建后长度不可更改。扩容思路:创建一个新的长度更大的数组,然后将原来数组的元素依次复制过去。

     

    // 1. 遍历数组,将原数组的值一个一个copy过去
    // 2. System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);         (是java.lang.System.arraycopy的简写吗?)
        // 几个形参的意义:待复制的原始数组,原始数组开始复制的起始位置,目标数组,目标数组开始复制的起始位置,从srcPos开始复制到目标数组的元素长度
       byte[] srcByte = new byte[]{1,2,3,4,5,6,7,8,9,0};
       byte[] desByte = new byte[5];
       System.arraycopy(srcByte, 1, desByte, 0, 5); // desByte = [2,3,4,5,6]

    // 3. java.util.Arrays.copyOf(T[] origin, int newLength);拷贝原始数组,并返回新的数组。
      // 两个参数:原始数组,新数组长度。
      int[] intArr = {1,2};
      int[] copyArr = java.util.Arrays.copyOf(intArr, 3);
  3. 方法中数组类型的参数

    public static void arrParam(int[] args) {....} // 名为args的形参,数组,数组项为int型。

    // 传不确定数量的参数
    // 语法: 数据类型... 形参名 必须定义在形参列表的最后一个,且只能有一个
    public static void arrParam1(int... args) {
     System.out.print(args)
    }
    arrParam1(1,2,3,4) // 此时args=[1,2,3,4]
  4. 数组排序

    java.util.Arrays.sort(数组名) // 升序

     

二维数组

概念:一维数组中的一维数组;数组中的元素还是数组。

  1. 二维数组的声明与赋值

     

    数组的访问和赋值:数组名[高维索引][低维索引],如:arr[1][2]

posted on 2022-05-18 14:34  妖娆的油条2号  阅读(32)  评论(0)    收藏  举报

导航