1. ホーム
  2. java

[解決済み] Javaで配列を初期化する方法は?

2022-03-22 02:17:01

質問

このような配列を初期化しています。

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はこの行でエラーを指摘する。

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

どうすれば問題を解決できますか?

どのように解決するのですか?

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

上記は正しくありません(シンタックスエラー)。つまり、配列の代入を data[10] のように、1つの要素だけを保持することができます。

配列を初期化したい場合は 配列イニシャライザー :

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};

この2つの宣言の違いに注目してください。宣言された変数に新しい配列を代入する場合。 new を使用する必要があります。

構文を修正しても、アクセスする data[10] へのアクセスはまだ正しくありません。 data[0] から data[9] Javaでは配列のインデックスは0ベースだからです)。アクセスする data[10] を投げます。 ArrayIndexOutOfBoundsException (配列インデックス境界外例外) .