数组初始化为0

时间:2014-01-15 21:36:02

标签: java

我创建了一个数组int []array = new int[10];

并没有在其中加入任何元素。

之后我尝试使用以下方式显示数组:

for (int counter = 0; counter < array.length; counter++) {

    System.out.print(array[counter] + " ");

}

输出只是:0 0 0 0 0 0 0 0 0

我只想要空格。当我使用char空格' '提交数组并输出数组时,我得到32 32 32 32 32 32 32 32 32

任何帮助?

5 个答案:

答案 0 :(得分:3)

int是基元,其默认值为0.当您尝试将char(另一个基元)存储为int时,空格= 32。

答案 1 :(得分:1)

通过将数组声明为int[],您告诉编译器您希望将数组的内容视为整数。数字。然后你不能期望它处理非数字的东西,比如空格字符。如果要将字符存储在数组中,则应将其声明为char[]

即使您将数组声明为char[],默认情况下它也不会包含空格。你仍然需要明确地放置空格。

答案 2 :(得分:0)

int的默认值已经是0.你不需要初始化它为0.但是如果你想要空格你应该创建一个char数组并将每个元素初始化为''。

实施例

char[] myArray = new char[10]

for(int i = 0; i < myArray.length; i++) 
{ myArray[i] = ' '; }

答案 3 :(得分:0)

如果您想在数组中包含字符,则应使用char[]而不是int[]。但是,你需要用空格初始化它,默认初始化将0放入数组元素。

答案 4 :(得分:0)

正常的Java行为。如果您不提供初始化程序或设置数组的内容,它们将被初始化为0.

这听起来像你想要的

int[] array = new int[]{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '};

int[] array = new int[]{32,32,32,32,32,32,32,32,32,32};