数组的静态初始化和省略的静态初始化
数组的静态初始化
int[] arr = new int[2];
或int arr[] = new int[2];
定义长度为2,里面元素的初始值为默认0;
初始值的问题:
类型 默认值
int 0
long 0L
boolean false
float 0.0f
double 0.0
int[] arr = new int[]{1,2,3,4,5};
或者int[] arr = {1,2,3,4,5};
定义长度为5,里面元素的值为给定的数值。
常见问题:
1、如果在后面的[]里添加上长度的话即:int[] arr = new int[5]{1,2,3,4,5};
编译器会报:“需要‘;’”的提示,所以当指定初始化值时,就不要在[]里指定长度了。
2、如果int[] arr;
arr = {1,2,3,4,5};
这样子编译器也会报错:“非法的表达式开始”
int[] arr = new int[2];
或int arr[] = new int[2];
定义长度为2,里面元素的初始值为默认0;
初始值的问题:
类型 默认值
int 0
long 0L
boolean false
float 0.0f
double 0.0
int[] arr = new int[]{1,2,3,4,5};
或者int[] arr = {1,2,3,4,5};
定义长度为5,里面元素的值为给定的数值。
常见问题:
1、如果在后面的[]里添加上长度的话即:int[] arr = new int[5]{1,2,3,4,5};
编译器会报:“需要‘;’”的提示,所以当指定初始化值时,就不要在[]里指定长度了。
2、如果int[] arr;
arr = {1,2,3,4,5};
这样子编译器也会报错:“非法的表达式开始”
省略格式:
数组类型[]数组名字 = {元素1,元素2 . . . }
注意事项:
静态初始化没有直接指定长度,但是仍然会自动推算得到长度。
静态初始化标准格式可以拆分成为两个步骤。
动态初始化也可以拆分成为两个步骤。
.静态初始化―旦使用省略格式,就不能拆分成为两个步骤了。
使用建议
如果不确定数组当中的具体内容,用动态初始化,否则,已经确定了具体的内容,用静态初始化。

浙公网安备 33010602011771号