问题阐述
在Java 中,如果为数组分配了内存空间,那么系统会自动为数组元素指定默认值,该默认值与数组的数据类型有关,那么各种类型的数组元素默认的初始值都是什么?
专家解答
在Java 中,使用数组时,如果为数组分配了内存空间,但是没有为数组元素指定初始值,系统会自动为数组元素指定初始值。数组元素的初始值与数组的数据类型有关,对于不同数据类型的数组,其数组元素的初始值是不一样的。下面将列举出不同类型数组元素的初始值。
. byte在Java 程序中使用数组时,如果没有为数组元素指定初始值,byte 型数组元素的默认初始值为0。
. short在Java 程序中使用数组时,如果没有为数组元素指定初始值,short 型数组元素的默认初始值为0。
. int在Java 程序中使用数组时,如果没有为数组元素指定初始值,int 型数组元素的默认初始值为0。
. long在Java 程序中使用数组时,如果没有为数组元素指定初始值,long 型数组元素的默认初始值为0L。
. float在Java 程序中使用数组时,如果没有为数组元素指定初始值,float 型数组元素的默认66初始值为0.0f。
. double在Java 程序中使用数组时,如果没有为数组元素指定初始值,double 型数组元素的默认初始值为0.0d。
. char在Java 程序中使用数组时,如果没有为数组元素指定初始值,char 型数组元素的默认初始值为字符.\u.0000。
. boolean在Java 程序中使用数组时,如果没有为数组元素指定初始值,boolean 型数组元素的默认初始值为false。
. 引用类型(如类、接口等类型)
在Java 程序中使用数组时,如果没有为数组元素指定初始值,引用类型(如类、接口等类型)数组元素的默认初始值为null,例如,String 类型数组元素的默认初始值就为null。
例如,声明一个包含3 个元素的int 型的一维数组,并为其分配内存,然后输出各数组元素的值,具体代码如下:
运行结果如图5.1 所示。
专家点评
在使用数组时一定要特别小心,因为如果创建了数组并为其分配了内存空间,系统就会自动为数组元素指定初始值,所以在使用数组时一定要注意为数组元素指定初始值,尽量不要使用数组元素的默认初始值,即使数组元素的初始值与默认的初始值相同,也应避免在程序中使用默认的初始值,这样可以减少运算结果出错的概率。