什么是Java中的数组的默认初始化? [英] What is the default initialization of an array in Java?

查看:229
本文介绍了什么是Java中的数组的默认初始化?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我声明和初始化一个int数组:

So I'm declaring and initializing an int array:

static final int UN = 0;
int[] arr = new int[size];
for (int i = 0; i < size; i++) {
    arr[i] = UN;
}

说我这样做,而不是...

Say I do this instead...

int[] arr = new int[5];
System.out.println(arr[0]);

... 0 将打印到标准输出。另外,如果我这样做:

... 0 will print to standard out. Also, if I do this:

static final int UN = 0;
int[] arr = new int[5];
System.out.println(arr[0]==UN);

... 真正将打印到标准输出。因此,如何初始化的Java默认情况下,我的阵列?它是安全的假设,默认初始化数组索引设置为 0 这将意味着我不通过数组必须循环和初始化呢?

... true will print to standard out. So how is Java initializing my array by default? Is it safe to assume that the default initialization is setting the array indices to 0 which would mean I don't have to loop through the array and initialize it?

感谢。

推荐答案

一切都在Java中没有明确设置的东西,被初始化为一个零值。

Everything in Java not explicitly set to something, is initialized to a zero value.


  • 对于引用(任何持有对象)中

  • 对于int /短路/字节是0。

  • 对于浮点/双精度是0.0

  • 对于布尔值,这是一个假的。

当您创建的东西阵列,所有参赛作品也被归零。所以你的数组包含五个零它被创建后右

When you create an array of something, all entries are also zeroed. So your array contains five zeros right after it is created by new.

这篇关于什么是Java中的数组的默认初始化?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆