我做了以下数组:
int[] array = new int[9];
此数组已初始化,但为空。在这种情况下,这个数组的任何索引的值是多少?当我打印出来时,它给了我0.这是否意味着存储零(如果你已经调用了int x = 0
)?或者是null
?
此外,对于任何Object
数组,这是否相同?它是此对象的空实例,还是null
?
答案 0 :(得分:0)
所有元素都初始化为0.
答案 1 :(得分:0)
如果它是一个对象数组,它将用null
初始化,如果它是一个原始值数组(如int
),它将用0
初始化。对于非数字原语boolean
,它是false
,而对于'char',它是'\u0000'
。有关更多信息,请查看以下页面上的默认值表:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
答案 2 :(得分:0)
我从Javadocs复制:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
原始数据类型:默认值
Data Type Default Value (for fields)
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
String (or any object) null
boolean false
因此,对于int,它为零(0)
答案 3 :(得分:0)
整数类可以为null然而" int" type不能为null。
你可以试试int x = null;你有错误。
因此,在您更改之前,默认情况下会将其创建为0.
答案 4 :(得分: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
答案 5 :(得分:0)
以下是Java中不同类型的默认值:
字节0
短0
int 0
长0L
浮动0.0f
双倍0.0d
char'u0000'
String(或任何Object)null
布尔值假
如您所见,int默认为0。