Java 中已初始化但为空的整数数组中存储了什么值
What value is stored in an initialized but empty integer array in Java
我制作了以下数组:
int[] array = new int[9];
此数组已初始化,但为空。在那种情况下,这个数组的任何索引的值是多少?当我打印出来时,它给我 0。这是否意味着这里存储了一个零(就像你调用了 int x = 0
)?还是null
?
此外,这对任何 Object
数组都一样吗?是这个对象的空实例,还是null
?
所有元素都初始化为0。
如果它是对象数组,它将用 null
初始化,如果它是原始值数组(如 int
),它将用 0
初始化。对于非数字基元 boolean
它是 false
而对于 'char' 它是 '\u0000'
。有关详细信息,请查看以下页面上的 table 默认值:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
我从 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)
整数 class 可以为空,但是 "int" 类型不能为空。
你可以试试 int x = null;你会遇到错误。
因此它默认创建为 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
整数 0
长 0L
浮动 0.0f
双 0.0d
char ‘u0000’
字符串(或任何对象)null
布尔假
如您所见,int 默认为 0。
我制作了以下数组:
int[] array = new int[9];
此数组已初始化,但为空。在那种情况下,这个数组的任何索引的值是多少?当我打印出来时,它给我 0。这是否意味着这里存储了一个零(就像你调用了 int x = 0
)?还是null
?
此外,这对任何 Object
数组都一样吗?是这个对象的空实例,还是null
?
所有元素都初始化为0。
如果它是对象数组,它将用 null
初始化,如果它是原始值数组(如 int
),它将用 0
初始化。对于非数字基元 boolean
它是 false
而对于 'char' 它是 '\u0000'
。有关详细信息,请查看以下页面上的 table 默认值:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
我从 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)
整数 class 可以为空,但是 "int" 类型不能为空。
你可以试试 int x = null;你会遇到错误。
因此它默认创建为 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
整数 0
长 0L
浮动 0.0f
双 0.0d
char ‘u0000’
字符串(或任何对象)null
布尔假
如您所见,int 默认为 0。