Java配列チュートリアル:宣言、生成、初期化の完全ガイド
Java配列とは
Javaにおいて配列は、同一型の要素を固定サイズで保持する組み込みデータ構造です。要素は0から始まるインデックスでアクセスします。配列はObjectを継承し、SerializableとCloneableインターフェースを実装するため、プリミティブ値やオブジェクト参照の両方を格納できます。
実際には、以下のようなコードを:
x0=0; x1=1; x2=2; x3=3; x4=4; x5=5;
簡潔なインデックス形式に置き換えられます:
x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4; x[5]=5;
本チュートリアルの内容:
- 配列とは
- 配列変数と3ステップ生成プロセス
- 最初の配列プログラム
- 配列は参照渡し
- 多次元配列
配列参照があれば効率的にループ可能:
for(count=0; count<5; count++) {
System.out.println(x[count]);
}
配列変数
Javaでの配列使用はシンプルな3ステップ:
- 宣言 — 配列型を宣言
- インスタンス化 — サイズを指定して配列を生成
- 任意: 初期化 — 要素に値を設定
1) 配列の宣言
構文:
<elementType>[] <arrayName>;
または
<elementType> <arrayName>[];
例:
int intArray[]; // int値を保持する配列を宣言 int []intArray; // 同じ宣言
2) 配列の構築
配列のメモリ確保:
arrayName = new dataType[size];
例:
intArray = new int[10]; // 10個の整数分の領域確保
宣言と構築を結合:
int intArray[] = new int[10];
3) 配列の初期化
個別に値代入:
intArray[0] = 1; intArray[1] = 2;
または宣言時に初期化リスト:
int intArray[] = {1, 2, 3, 4};
これにより長さ4、指定値の配列が生成されます。
最初の配列プログラム
ステップ1: 以下のコードをエディタにコピー。
class ArrayDemo{
public static void main(String args[]){
int array[] = new int[7];
for (int count=0; count<7; count++){
array[count] = count + 1;
}
for (int count=0; count<7; count++){
System.out.println("array[" + count + "] = " + array[count]);
}
// System.out.println("Length of Array = " + array.length);
// array[8] = 10;
}
}
ステップ2: コンパイル・実行。出力:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
ステップ3: array.lengthで配列サイズ取得。行10のコメント解除で再実行:
Length of Array = 7
ステップ4: Javaは境界チェックを強制。行11のコメント解除で例外発生:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
対照的にC言語なら境界外アクセスもサイレントに実行されます。
配列は参照渡し
配列パラメータは参照渡しのため、メソッド内での変更が元の配列に影響します。
例:
class ArrayDemo {
public static void passByReference(String a[]){
a[0] = "Changed";
}
public static void main(String args[]){
String []b = {"Apple","Mango","Orange"};
System.out.println("Before Function Call " + b[0]);
ArrayDemo.passByReference(b);
System.out.println("After Function Call " + b[0]);
}
}
出力:
Before Function Call Apple After Function Call Changed
多次元配列
多次元配列は配列の配列です。宣言には次元ごとに追加の括弧ペアが必要:
int twoD[][] = new int[4][5];
割り当て時、最初(左端)の次元のみ指定必須。以降の次元は後から割り当て可能で、メモリレイアウトを細かく制御できます。
例:
public class Guru99 {
public static void main(String[] args) {
// 4x4の二次元配列作成
int[][] twoD = new int[4][4];
// いくつかの要素に代入
twoD[0][0] = 1;
twoD[1][1] = 2;
twoD[3][2] = 3;
System.out.print(twoD[0][0] + " ");
}
}
出力:
1
Java