数组Array
动态初始化(指定长度)
数据类型[] 数组名称 = new 数据类型[数组长度];
静态初始化(指定内容)
数据类型[] 数据名称 = 数据类型[]{元素1,元素2,……};
public static void main(String[] args){
int[]arrayA=new int[]{5,15,25};
}
注意事项:
虽然静态初始化没有直接告诉长度,但是根据大括号里面的元素具体内容,也可以自动推算出来长度。
使用静态初始化数组的时候,格式还可以省略一下。
标准格式:
数据类型[] 数组名称 = new 数据类型[] {元素1,元素2,……}
省略格式:
数据类型[] 数组名称 = {元素1,元素2……}
注意事项:
- 静态初始化没有直接指定长度,但是仍然会自动推算得到长度。
- 静态初始化可以拆分成为两个步骤。
- 动态初始化也可以拆分成为两个步骤。
- 静态初始化一旦使用省略格式,就不能拆分成为两个步骤了。
使用建议:
如果不确定数组当中的具体内容,用动态初始化;否则,已经确定了具体内容,用静态初始化。
数组使用时的注意事项:
直接打印数组名称,得到的是数组对应的内存地址哈希值
访问数组元素的格式:数组名称[索引值]
使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值。规则如下:
如果是整型,那么默认为0;
如果是浮点类型,那么默认为0.0;
如果是布尔类型,那么默认为false;
如果是应用类型,默认为null;
常见问题
-
数组索引越界问题:数组的索引编号从0开始,一直到“数组的长度减1”为止。
如果访问数组元素的时候,索引编号并不存在,那么将发生
ArrayIndexOutOfBoundsException
-
空指针异常:数组必须进行new初始化才能使用其中的元素
如果只是赋值一个null,没有进行new创建那么将会发生:
NullPointerException
如何获取数组的长度
格式:数组名称.length