Java 配列の初期化技術

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Java で配列を初期化するさまざまな方法を学びます。また、Scanner クラスを使用してユーザー入力を取得する方法、ネストされたループを使用して 2 次元配列を初期化する方法、宣言時に配列を初期化する方法、および Arrays.fill()、Arrays.setAll()、ArrayUtils.clone() などのさまざまなメソッドの使用方法についても学びます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java(("Java")) -.-> java/ProgrammingTechniquesGroup(["Programming Techniques"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/data_types("Data Types") java/BasicSyntaxGroup -.-> java/variables("Variables") java/BasicSyntaxGroup -.-> java/for_loop("For Loop") java/DataStructuresGroup -.-> java/arrays("Arrays") java/DataStructuresGroup -.-> java/arrays_methods("Arrays Methods") java/ProgrammingTechniquesGroup -.-> java/lambda("Lambda") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") subgraph Lab Skills java/data_types -.-> lab-117460{{"Java 配列の初期化技術"}} java/variables -.-> lab-117460{{"Java 配列の初期化技術"}} java/for_loop -.-> lab-117460{{"Java 配列の初期化技術"}} java/arrays -.-> lab-117460{{"Java 配列の初期化技術"}} java/arrays_methods -.-> lab-117460{{"Java 配列の初期化技術"}} java/lambda -.-> lab-117460{{"Java 配列の初期化技術"}} java/user_input -.-> lab-117460{{"Java 配列の初期化技術"}} end

配列の宣言と初期化

配列を初期化する前に、配列を宣言する方法を知っておく必要があります。宣言とは、配列に格納される要素の変数名とデータ型を定義することを意味します。配列を宣言する一般的な構文は、以下のコードで示されます。

datatype[] variableName;

配列の初期化とは、配列要素に初期値を設定することです。以下で説明するさまざまな方法を使用して配列を初期化することができます。

すべての配列要素を 0 に初期化する

すべての要素が 0 に設定された配列を初期化するには、配列を宣言し、new キーワードを使用して必要なサイズに初期化するだけです。Java はデフォルトで、すべての配列要素をそれらのデフォルト値(整数の場合は 0、文字列の場合は null、ブール値の場合は false など)に初期化します。

int[] intArray = new int[5];

配列要素を 1 つずつ初期化する

配列の各要素を 1 つずつ初期化するには、for ループを使用して配列のインデックスを初期化することができます。

int[] intArray = new int[5];
for(int i = 0; i < intArray.length; i++) {
    intArray[i] = i + 1;
}

宣言時に配列を初期化する

1 行のコードで、配列を宣言すると同時に初期化することができます。

int[] intArray = {1, 2, 3, 4, 5};

Scanner クラスを使用してユーザー入力を取得する

ユーザー入力で配列を初期化するには、Scanner クラスを使用してユーザーからの入力を読み取ることができます。

Scanner input = new Scanner(System.in);
System.out.print("Enter array length: ");
int length = input.nextInt();

int[] intArray = new int[length];
for(int i = 0; i < length; i++) {
    System.out.print("Enter element " + (i + 1) + ": ");
    intArray[i] = input.nextInt();
}
input.close();

2D 配列を初期化する

ネストされたループを使用して 2D 配列を初期化することができます。

int[][] intArray = new int[3][3];
for(int i = 0; i < intArray.length; i++) {
    for(int j = 0; j < intArray[i].length; j++) {
        intArray[i][j] = i + j;
    }
}

Arrays.fill() メソッドを使用する

Arrays.fill() メソッドを使用して、配列を特定の値で初期化することができます。

int[] intArray = new int[5];
Arrays.fill(intArray, 5);

Arrays.setAll() メソッドを使用する

Arrays.setAll() メソッドを使用して、ジェネレーター関数 (Generator Function) を用いて配列を初期化することができます。

int[] intArray = new int[5];
Arrays.setAll(intArray, (index) -> index * index);

ArrayUtils.clone() メソッドを使用する

ArrayUtils.clone() メソッドを使用して、既存の配列のコピーを作成することができます。

int[] intArray = new int[] {1, 2, 3, 4, 5};
int[] copyArray = ArrayUtils.clone(intArray);

Arrays.copyOf() メソッドを使用する

Arrays.copyOf() メソッドを使用して、既存の配列のコピーを作成することができます。

int[] intArray = new int[] {1, 2, 3, 4, 5};
int[] copyArray = Arrays.copyOf(intArray, 8);

まとめ

この実験では、for ループを使用して Java で配列を初期化する方法、宣言と同時に初期化する方法、ユーザー入力を受け取るために Scanner クラスを使用する方法、宣言時に初期化する方法、Arrays.fill() および Arrays.setAll() メソッドを使用する方法、そして ArrayUtils.clone() および Arrays.copyOf() メソッドを使用して配列をコピーする方法を学びました。これで、プログラムのニーズに応じていくつかの方法で配列を初期化することができます。