5.1.3 1 Dアレイの作成方法

13979 ワード

これまで、1次元配列を作成して値を代入する方法について説明してきました.しかしJavaでは,前述の方法のほかに配列や代入値を作成する様々な方法がサポートされている.ここでは、前の方法を含む3つの1次元配列または代入値を作成する方法について説明します.
方法1配列オブジェクトを作成して値を割り当てる
1つ目の方法は、前述したように、配列内のオブジェクトを宣言してから、インデックス位置ごとに値を代入することです.オブジェクトを作成するときは配列の長さを明確に記述する必要があります.値を入力するときは、使用可能なインデックス(0から配列の長さ-1)のみを使用します.
📖配列オブジェクトを作成して値を割り当てる
資料型[]参照変数名=new資料型[配列長];
参照変数名[0]=値;
参照変数名[1]=値;
...
参照変数名[配列長-1]=値;
예시 
int[] a = new int[3];
a[0] = 3;
a[1] = 4;
a[2] = 5;
方法②配列オブジェクトを作成して値を代入する
2つ目の方法は、配列オブジェクトを作成しながら値を代入することです.初期値を直接入力するため、コンパイラによる強制初期化手順は省略します.2つ目の方法は、オブジェクトを作成するときに、右括弧内に配列の長さを指定しません.アレイを作成する場合、アレイの長さは、指定する必要があるアレイの2番目のフィーチャーを満たさない場合があります.ただし,配列の長さは次の括弧中の初期化データ数によって決まるため,配列のすべての特徴を満たす.
📖 配列オブジェクトの作成に値を置換
データ型[]参照変数名=newデータ型[]{値、値、値};
->配列の長さを指定せず、配列の長さは値によって決まります
int[] a = new int[]{3, 4, 5};
方法③代入する値のみ入力
最後の方法はnewキーワードがない場合、初期化する値をカッコに入れて代入することです.初期化データの数はアレイの長さを決定します.
データ型[]参照変数名={値,値,...,値};
int[] a = {3, 4, 5};
変数宣言と付与値が分離可能かどうか
方法③は方法②でnewint[]を省略した形式である.方法②と方法③が全く同じであれば、比較的複雑な方法②を用いる必要はない.ただしメソッド③には,変数宣言と値代入を分離できない制約がある.つまり、宣言と同時に値を代入する場合にのみ使用できます.大したことはないが,メソッド③宣言と代入が分離できないという特徴から,メソッドの入力パラメータ数値としては使用できない.
📖 方法②宣言と対象代入の分離
int[]a = new int[]{3,4,5}; // 0
int[]a;
a = new int[]{3,4,5}; // 0
📖 方法③宣言と対象代入は切り離せない
int[] a = {3, 4, 5}; // 0
int[]a;
a = {3, 4, 5}; // X

実習

        // 배열의 값 대입 방법 1
        int[] array1 = new int[3]; // 배열의 원소 값 강제 초기화
        array1[0] = 3;
        array1[1] = 4;
        array1[2] = 5;
        System.out.println(array1[0] + " " + array1[1] + " " + array1[2]);

        int[] array2;
        array2 = new int[3]; // 배열의 선언과 객체 대입을 분리 가능
        array2[0] = 3;
        array2[1] = 4;
        array2[2] = 5;
        System.out.println(array2[0] + " " + array2[1] + " " + array2[2]);

        // 배열의 값 대입 방법 2
        int[] array3 = new int[]{3, 4, 5}; // 강제 초기화 생략
        System.out.println(array3[0] + " " + array3[1] + " " + array3[2]);

        int[] array4;
        array4 = new int[]{3, 4, 5}; // 배열의 선언과 객체 대입을 분리 가능
        System.out.println(array4[0] + " " + array4[1] + " " + array4[2]);

        // int[] array6;
        // array 6 = {3, 4, 5}; // 불가능 배열의 선언과 객체 대입을 분리 불가능
        // System.out.println(array6[0] + " " + array6[1] + " " + array6[2]);
結果