Javaシナリオ


整列


1つの変数に1つのタイプの複数のデータを含めることができるデータ構造.

索引


配列にデータを入れる場合は、インデックス配列のインデックスが常にゼロから始まる位置を指定します.
// 선언
int [] array;       // 배열 선언 시 권장되는 스타일
int array2 [];
int [] array3 = {1,2,3,4,5};

// 초기화
array = new int[7];     // array 라는 배열에 0 ~ 6 인덱스가 생김

for(int i = 0; i < 6; i++) {
    array[i] = i;
    System.out.println("array = " + array[i]);  // 0, 1, 2, 3, 4, 5, 6
}

アレイ内の例外

int [] array = new int[7];

for(int i = 0; i < 6; i++) {
    array[i] = i;
    System.out.println("array = " + array[i]);  // 0, 1, 2, 3, 4, 5, 6
}
array[7] = 7;    // ArrayIndexOutOfBoundException
配列が持つインデックス以外の値を指定したり、値を参照するときにエラーが発生したりします(上のコードではarrayに0から6のインデックスがあります).
ここで分かる点は、配列を初期化した後、配列のインデックスを追加することはできません(再初期化しない限り).

デフォルトタイプと参照タイプ配列のデフォルト値



リファレンスタイプのデフォルト値はnullです
nullは値のない状態を表します

共通値が必要な場合はstaticを使用します

public class KoreaPeople { // 한국사람의 모든 국적은 한국 즉 나라 정보는 공통의 값
    static String country = "korea";

    public static void main(String[] args) {
        KoreaPeople a = new KoreaPeople();
        KoreaPeople b = new KoreaPeople();

        System.out.println("a: " + a.country);
        System.out.println("b: " + b.country);

        // static 변수 변경
        a.country = "south korea";

        // a의 country 값을 변경하였지만 b의 country값도 변경됨
        System.out.println("a: " + a.country);
        System.out.println("b: " + b.country);
    }
}
staticは変数やメソッドで使用できます.プログラムの起動時(インスタンスを作成する必要はありません)、プログラムの終了時にメモリから解放されます.
静的変数が多すぎるとシステムの速度が低下します
固定された値や複数の場所の設定など、共通情報を表すために使用されます.

2 Dアレイ

// 2차원 배열 선언과 초기화
int [][] arr;
arr = new int[2][];

// 2차원 배열안의 배열 초기화
arr[0] = new int[3];
arr[1] = new int[3];

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

// int [] arr3 [] = {{1,2,3}, {4,5,6}}; 문법상의 에러는 없지만 권장되지 않는 스타일

配列の長さ情報の長さ


lengthは配列の最後のインデックス+1のint型数を返します
int [] arr = {1,2,3,4,5};    // 0 ~ 5의 index를 가지는 배열
System.out.println(array.length);    // 6

アレイ用for文(強化されたfor文)

int [] arr = {1,2,3,4,5};    // 0 ~ 5의 index를 가지는 배열
for (int num : arr) {        // for (declaration : expression)
    System.out.println(num);
}
JDK 5バージョンから強化されたfor文をサポートし、カッコ部分はfor文で使用される宣言部分と式(配列やリストなどのCollectionオブジェクト)を使用できます.
通常のfor文のように配列のインデックスに直接アクセスして配列の要素値を変更することはできません.主に値の取得に使用されます.