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

问题描述 投票:0回答:6

我做了以下数组:

int[] array = new int[9];

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

那么,这个数组的任意索引的值是多少?

当我打印出来时,它给了我0。
这是否意味着这里存储了一个零(就像您调用了

int x = 0
)?
还是
null

此外,这对于任何

Object
数组都一样吗?
它是这个对象的空实例,还是
null

java arrays null initialization zero
6个回答
2
投票

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


1
投票

如果它是一个对象数组,它将使用

null
进行初始化,如果它是一个原始值数组(如
int
),它将使用
0
进行初始化。对于非数字基元
boolean
,它是
false
,对于“char”,它是
'\u0000'
。有关更多信息,请查看下页上的表默认值:

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


0
投票

所有元素都初始化为0。


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

0
投票

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

字节0

短0

int 0

长0L

浮动0.0f

双0.0d

字符‘u0000’

字符串(或任何对象)null

布尔假

如您所见,int 默认为 0。


0
投票

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

你可以尝试 int x = null;你会遇到一个错误。

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

© www.soinside.com 2019 - 2024. All rights reserved.