首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中初始化数组?

如何在Java中初始化数组?
EN

Stack Overflow用户
提问于 2009-12-21 11:59:52
回答 8查看 1.7M关注 0票数 462

我正在初始化一个数组,如下所示:

代码语言:javascript
复制
public class Array {

    int data[] = new int[10]; 
    /** Creates a new instance of Array */
    public Array() {
        data[10] = {10,20,30,40,50,60,71,80,90,91};
    }     
}

NetBeans在这一行指出了一个错误:

代码语言:javascript
复制
data[10] = {10,20,30,40,50,60,71,80,90,91};

我该如何解决这个问题?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-12-21 12:04:35

代码语言:javascript
复制
data[10] = {10,20,30,40,50,60,71,80,90,91};

以上不正确(语法错误)。这意味着您将一个数组分配给data[10],该数组只能容纳一个元素。

如果要初始化数组,请尝试使用Array Initializer

代码语言:javascript
复制
int[] data = {10,20,30,40,50,60,71,80,90,91};

// or

int[] data;
data = new int[] {10,20,30,40,50,60,71,80,90,91};

请注意这两个声明之间的差异。将新数组赋给已声明的变量时,必须使用new

即使您纠正了语法,访问data[10]仍然是不正确的(您只能访问data[0]data[9],因为Java语言中的数组索引是从0开始的)。访问data[10]将抛出一个ArrayIndexOutOfBoundsException

票数 694
EN

Stack Overflow用户

发布于 2009-12-21 12:01:20

试一试

代码语言:javascript
复制
data = new int[] {10,20,30,40,50,60,71,80,90,91 };
票数 42
EN

Stack Overflow用户

发布于 2009-12-21 13:03:52

当您创建一个大小为10的数组时,它分配了10个插槽,但从0到9。这个for循环可能会帮助您更好地了解这一点。

代码语言:javascript
复制
public class Array {
    int[] data = new int[10]; 
    /** Creates a new instance of an int Array */
    public Array() {
        for(int i = 0; i < data.length; i++) {
            data[i] = i*10;
        }
    }
}
票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1938101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档