什么值存储在 Java 中初始化但为空的整数数组中 [已关闭]

What value is stored in an initialized but empty integer array in Java [closed]

提问人:cvbattum 提问时间:3/8/2015 最后编辑:cvbattum 更新时间:11/16/2023 访问量:1266

问:


这个问题似乎与帮助中心定义的范围内的编程无关。

8年前关闭。

我做了以下数组:

int[] array = new int[9];

此数组已初始化,但为空。

在这种情况下,此数组的任何索引的值是多少?

当我打印出来时,它给了我 0。
这是否意味着这里存储了一个零(就像你调用了一样)?
或者是吗?
int x = 0null

另外,对于任何数组都是一样的吗?
它是这个对象的空实例,还是?
Objectnull

java 数组 null 初始化

评论

0赞 tgkprog 3/8/2015
所有 1 秒。这是任何 101 书籍或教程中的基本 Java。你见过甲骨文上的那些吗?goo.gl/QiHpsb
4赞 Jeroen Vannevel 3/8/2015
我投票决定将这个问题作为题外话关闭,因为它可以在文档中找到。docs.oracle.com/javase/tutorial/java/nutsandbolts/......
0赞 Obicere 3/8/2015
@JeroenVannevel SnackOverflow 上不允许的一般用途问题;如果是这样,我们将如何标记它们?
0赞 Alexis King 3/8/2015
可能的重复 Java 中数组的默认初始化是什么?
0赞 Arfur Narf 5/11/2023
数组不是“空”,它是满的,有 9 个零实例。

答:

0赞 Emil Laine 3/8/2015 #1

所有元素都初始化为 0。

1赞 Marv 3/8/2015 #2

如果它是一个对象数组,它将用 进行初始化,如果它是一个原始值数组(如 ),它将用 进行初始化。对于非数字原语,它是 ,对于 'char',它是 。有关详细信息,请查看以下页面上的默认值表:nullint0booleanfalse'\u0000'

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

评论

0赞 Melika Barzegaran 3/8/2015
如果原语是 ,它将使用 value 进行初始化。booleanfalse
0赞 Marv 3/8/2015
@MelikaBarzegaranHosseini我已经相应地编辑了我的帖子。
2赞 adrCoder 3/8/2015 #3

来自 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)。

0赞 Arnaud Bertrand 3/8/2015 #4

Integer class 可以为 null,但 “int” 类型不能为 null。

你可以试试 int x = null;你会有一个错误。

因此,默认情况下,它将创建为 0,直到您更改它。

0赞 Zarwan 3/8/2015 #5

默认情况下,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
0赞 Dermot Blair 3/8/2015 #6

以下是 Java 中不同类型的默认值:

字节 0

空头 0

整数 0

长 0L

浮子 0.0F

双 0.0d

字符 'u0000'

字符串(或任何对象)null

boolean false

如您所见,int 默认为 0。