数组


一、数组:
    概念:存放一组类型相同的数据。
    知识点:
      1.数组的声明:
        要确定存入的数据是什么类型,
          int[] arr;另外一种写法:int arr[];
      2.数组的初始化(第一次赋值):两种方式
        2.1.静态初始化
          int[] arr = {1,2,3};
          String[] arr = {"1","2","3"};
        2.2.动态初始化
          int[] arr = new int[5];---,规定长度。
          是有元素的,都是相应类型的默认值 'u0000'
          int[] arr = new int[]{1,2,3,4,5};--直接赋值
      3.数组的元素
        数组对象里的数据就叫元素
      4.数组的长度。
        数组元素的个数,变量名.length;
      5.数组的下标,指元素的位置(索引)
        index:从0到length-1
      6.数组对象一个特点:
        一经创建,长度不可变。
        例如: 创建一个26个长度的char类型数组chs1,分别存入
          a~z,然后遍历输出显示
            char[] chs1 = new char[26];
              for(char i='a';i<='z';i++){
              chs1[i-97] = i;
            }
      7.Arrays.toString(数组变量名);
        导包:import java.util.Arrays;
        作用:将数组的元素变成字符串
        "["+元素1+","+元素2+","+…………+元素n+"]"
      8.数组下标越界异常:
        当使用的索引超出了0~length-1时,就会报异常
        ArrayIndexOutOfBoundsException
      9.数组的扩容(缩容)
        Arrays.copyOf(p1,p2)
        p1:要扩容(缩容)的数组变量。
        p2:要扩容(缩容)到多长。扩容或缩容后的总长度。
        此方法有返回值:返回的是一个新数组
      10.二维数组:
        可以看成是一个数组的元素依然是一个数组。
        int[][] arr = new int[3][];
        arr[0]=new int[5];
        arr[1]=new int[3];
        arr[2]=new int[]{1,2,3,4};
        即:arr={{0,0,0,0,0},
          {0,0,0},
          {1,2,3,4}
          }

      11.系统复制
        System.arraycopy(p1,p2,p3,p4,p5);
        p1:要复制的数组, 
        p2:从A中的哪个索引开始复制
        p3:复制到的数组, 
        p4:从B中的那个索引开始复制
        p5:要复制多长(个数)

      数组越界异常:
      ArrayIndexOutOfBoundsException:

原文地址:https://www.cnblogs.com/xiaozelulu/p/8710798.html