5-Java数组定义/初始化/操作

数组初始化

  1. 定义
    • Java中数组必先初始化才能使用
    • 所谓初始化就是给数组元素分配内存, 并为每个元素赋初始值
  2. 初始化方式
  • 静态初始化
    1. 自定义数组元素初始值, 而数组长度由系统 ( JVM ) 决定
    2.   数组元素类型[]  数组名 = new 数组元素类型[]{元素1, 元素2, 元素3,.......};
        int[] nums = new  int[]{1,3,5,7,9};   
        简单写法,必须声明之后,立刻初始化,不能先声明后初始化:
        int[] nums = {1,3,5,7,9};```
      
  • 动态初始化

动态初始化操作

  • 设置数组的元素个数(数组长度), 每个数组元素的初始值由系统决定
      数组元素类型[] 数组名 = new 数组元素类型[length];
      int[] ages = new int[100];
      int[] nums = new  int[5]{1,3,5,7,9};//写法是错误的,不能同时使用静态初始化和动态初始化
    
  • 注意
    • 事先知道, 需要存储哪些数据, 选静态初始化

    • 事先不知道, 需要存储哪些数据, 只能使用动态初始化

      • 无论哪种方式初始化数组, 一旦初始化完成, 数组长度就固定不可改变, 除非重新初始化
      • 数据是定长的: 数组一旦初始化成功, 数组中的元素个数就固定不可改变, 如需更改, 须重新初始化

数组的动态初始化操作

  1. 定义: 设置数组的元素个数(数组长度), 每个数组元素的初始值由系统决定

  2. 语法

    数组元素类型[] 数组名 = new 数组元素类型[length]
    int[] ages = new int[6];
    int[] nums = new  int[5]{1,3,5,7,9};//写法是错误的,不能同时使用静态初始化和动态初始化
    
  3. 使用注意

    1. 事先知道, 需要存储哪些数据的时候, 选用静态初始化
    2. 事先不知道, 需要存储哪些数据的时候, 只能使用动态初始化

数组

  1. 数组的基本操作
    1. 获取元素 元素类型 变量 = 数组名[索引];
    2. 设置元素 数组名[index] = 值;
    3. 数组长度 int len = 数组名.length
      • length不是属性, 是方法
    4. 索引范围: 从0开始, 逐一递增 [0, 数组名.length-1]
  2. 操作数组常见异常
    1. NullPointerException: 空指针 / 空引用异常
      • 当数组未初始化, 就直接操作数组

        String[] bs = null;
        System.out.println(bs.length); // bs[0]一样的异常
        
    2. ArrayIndexOutOfBoundsException: 数组的索引越界异常
  3. 练习
    • 获取数组最大最小元素
    • 打印数组元素
    • 逆序排列数组元素
    • 元素出现索引(第一次/最后一次), 线性搜索

你可能感兴趣的:(5-Java数组定义/初始化/操作)