LoginSignup
0
0

More than 1 year has passed since last update.

【Java文法】配列

Last updated at Posted at 2022-01-09

こんにちは、コイキングです。

本記事では'配列'について、説明したいと思います。


1.配列とは?

配列は同じデータ型の変数が順次的に格納されているような形のデータ構造です。
数が決まっている同じデータ型のデータを扱う時に配列が使われます。

2.配列の宣言と初期化

1) 配列の宣言

// データ型 [] 配列名; 
int [] arrayInt;

2) 配列の初期化する(配列の長さを指定)

// 配列名 = new データ型 [長さ];
arrayInt = new int[3];

3) 配列の宣言と初期化を同時にする(配列の長さを指定)

// データ型 [] 配列名 = new データ型 [長さ];
String [] arrayStr = new String[3];

4) 配列の宣言と初期化を同時にし、配列にデータを入れて生成

- 方法1

// データ型 [] 配列名 = new データ型[]{要素1, 要素2, 要素3...}
char [] arrayChar = new char[] {'A','B','C'};

- 方法2

// データ型 [] 配列名 = {要素1, 要素2, 要素3...}
byte [] arrayByte = {1, 2, 3};​

3. 配列に値を入力・出力する

配列の要素にアクセスするためにはインデクス(index)番号を知っておく必要があります。
配列のインデクス番号は0から初めて'配列名[インデクス番号]'のように配列の要素にアクセスできます。

System.out.println(arrayInt[0]);  // 0 int配列の デフォルト値は0です。.
System.out.println(arrayInt[1]);  // 0 
System.out.println(arrayInt[2]);  // 0 

// 配列の各空間に値を代入
arrayInt[0] = 3;
arrayInt[1] = 2;
arrayInt[2] = 1;

// length配列の長さの値は入っている。
for (int i=0; i<arrayInt.length; i++) {
    System.out.println("配列の["+i+"] 番目インデクスの要素の値 : "+ arrayInt[i]);
}

4. 多次元配列の宣言と初期化

多次元配列は"データ型 [][] 配列名 = new [上位次元の長さ][下位次元の長さ];"のように宣言と初期化ができます。

※ 5 * 5の大きさの2次元配列は以下のような空間がメモリーに割当されます。
[0,0][0,1][0,2][0,3][0,4]
[1,0][1,1][1,2][1,3][1,4]
[2,0][2,1][2,2][2,3][2,4]
[3,0][3,1][3,2][3,3][3,4]
[4,0][4,1][4,2][4,3][4,4]

1) 宣言と配列の長さを指定する

// データ型 [][] 配列名 = new [上位次元の長さ][下位次元の長さ];
int [][] MultiArrayInt1 = new int[5][5];

2) 宣言と初期化を同時にする

- 方法1

int [][] MultiArrayInt2 = new int[][] {
    {1, 2, 3, 4, 5},
    {6, 7, 8, 9, 10},
    {11, 12, 13, 14, 15}
};

- 方法2

int [][] MultiArrayInt3 = {
    {1, 2, 3, 4, 5},
    {6, 7, 8, 9, 10},
    {11, 12, 13, 14, 15}
};

4. 多次元配列に値入力・出力する

多次元配列の要素にアクセスするためには'上位次元のインデクス番号'と'下位次元のインデクス番号'を知っておく必要があります。
'配列名[上位次元のインデクス番号][下位次元のインデクス番号]'のように配列の要素にアクセスできます。

System.out.println(MultiArrayInt1[0][0]);  // 0
System.out.println(MultiArrayInt1[0][1]);  // 0 
System.out.println(MultiArrayInt1[0][2]);  // 0 
MultiArrayInt1[0][0] = 3;
MultiArrayInt1[0][1] = 2;
MultiArrayInt1[0][2] = 1;

for (int i=0; i<MultiArrayInt1.length; i++) {
    for (int j=0; j<MultiArrayInt1.length; j++) {
        System.out.println("配列の ["+i+","+j+"] 番目 インデクスの要素の値 : "+ MultiArrayInt1[i][j]);
    }
}

※ 例示コード
https://github.com/leeyoungseung/algorithmBasic/blob/master/algorithm/src/basic/B_07_Array.java

※ 韓国語のポストは以下のURLで確認できます。
https://koiking.tistory.com/79?category=1068655

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0