image.png
    静态初始化:当已知道存入哪些元素值,用静态初始化 ————-比如一周的时间
    动态初始化:当还不清楚要存入哪些数据,用动态初始化 —— 比如求班级里面的成绩,当前还不知道成绩,用动态数组
    // 动态数组可以使用Random类和Scanner类,进行赋值

    1. package com.itheima.create;
    2. public class ArrayDemo4 {
    3. public static void main(String[] args) {
    4. // 目标:学会动态初始化数组的定义和使用
    5. double[] scores = new double[3]; //直接定义了数组的长度,刚开始是默认值[0.0,0.0,0.0]
    6. System.out.println(scores[0]); // 0.0 刚开始是默认值[0.0,0.0,0.0]
    7. // 赋值
    8. scores[0] = 99.5;
    9. System.out.println(scores[0]);
    10. System.out.println(scores[2]);
    11. String[] names = new String[3];
    12. names[0] = "赵丽颖";
    13. names[1] = "迪丽热巴";
    14. names[2] = "杨幂";
    15. // names[3] = "古力娜扎"; 长度为3,最大索引值为2
    16. names[2] = "古力娜扎";
    17. System.out.println(names[2]);
    18. }
    19. }

    这是一个空数组:
    image.png
    动态数组元素默认值:
    image.png

    1. package com.itheima.create;
    2. public class ArrayDemo5 {
    3. public static void main(String[] args) {
    4. // 目标:掌握动态初始化元素默认值规则
    5. // 1.整型数组int[]的元素默认值都是0
    6. int[] arr = new int[3];
    7. System.out.println(arr[1]);
    8. // 2.字符数组的元素默认值是0(用char类型输出看到的是特殊符号,要用强制转换(int)
    9. char[] chars = new char[4];
    10. System.out.println(chars[1]);//
    11. System.out.println((int)chars[1]);// 0
    12. // 3.浮点型数组的元素默认值是0.0
    13. double[] scores = new double[3];
    14. System.out.println(scores[0]); // 0.0
    15. // 4.布尔类型的数组 的默认值是false
    16. boolean[] booleans = new boolean[5];
    17. System.out.println(booleans[4]); // false
    18. // 5.引用类型的数组的默认值的null 引用类型:类,接口,数组,String
    19. String[] names = new String[4]; // null
    20. System.out.println(names[0]);
    21. }
    22. }