我做了以下数组:
int[] array = new int[9];
该数组已初始化,但为空。
那么,这个数组的任意索引的值是多少?
当我打印出来时,它给了我0。
这是否意味着这里存储了一个零(就像您调用了
int x = 0
)?null
?
此外,这对于任何
Object
数组都一样吗?null
?
来自 Oracle Java 文档的副本。
原始数据类型 - 默认值:
Data Type Default Value (for fields)
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
String null
Object null
boolean false
因此,对于 int,它为零 (0)。
如果它是一个对象数组,它将使用
null
进行初始化,如果它是一个原始值数组(如 int
),它将使用 0
进行初始化。对于非数字基元 boolean
,它是 false
,对于“char”,它是 '\u0000'
。有关更多信息,请查看下页上的表默认值:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
所有元素都初始化为0。
int 数组中的每个值默认都初始化为 0。您可以自己轻松尝试:
int [] nums = new int [9];
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
结果:
0
0
0
0
0
0
0
0
0
以下是 Java 中不同类型的默认值:
字节0
短0
int 0
长0L
浮动0.0f
双0.0d
字符‘u0000’
字符串(或任何对象)null
布尔假
如您所见,int 默认为 0。
Integer 类可以为 null,但“int”类型不能为 null。
你可以尝试 int x = null;你会遇到一个错误。
因此,它默认创建为 0,直到您更改它。