为什么有动态初始化呢?
当 不知道数组里几个元素的具体值时用动态初始化
动态初始化:初始化时只指定数组长度,由系统分配初始值
格式:数据类型[]数组名=new 数据类型[数组长度];
特点:在创建的时候有自己指定数组长度,由虚拟机给出初始化值
数组默认初始化值的规律
整数类型:0
小数类型:0.0
字符类型:‘\u00000’空格
布尔类型:false
引用数据类型:null
拓展一:动态初始化与静态初始化的区别
动态初始化:手动指定数组长度,由系统给出初始化值
只知道元素个数,不知道具体数值不知道具体数值推荐使用
eg:
int []arr={?,?,?,?,?};
int []arr=new int[5];
静态初始化:手动指定数组元素,系统会根据元素个数计算出数组长度。
需求中已经明确了具体数据,直接静态初始化
eg:
int [] arr={11,22,33};
数组的常见问题:索引越界问题
代码演示:
小结:
原因:访问了不存在的索引
避免:索引的范围
最小索引:0
最大索引:数组长度-1