Java - 配列

ようこそ、夢を持つプログラマーの皆さん!今日は、Javaの配列の興味深い世界に飛び込んでいきましょう。あなたの親しみのある近所のコンピュータサイエンスの先生として、私はあなたがこの基本的な概念を理解し、プログラミングのツールキットに重要な道具として身につける手助けをします。

Java - Arrays

Javaの配列とは?

誕生日パーティーを計画していて、ゲストリストを管理する必要があると仮定しましょう。それぞれの名前を別の紙切れに書く代わりに、すべての名前を持つ単一のリストをお持ちできたら、もっと簡単じゃないですか?それはまさにプログラミングでの配列が行うことです!

Javaの配列は、単一の型の値を固定数だけ保持するコンテナです。同じ種類のアイテムを持つボックスの一列と考えてください。

配列変数の宣言

基本から始めましょう。配列変数を宣言するには、角括弧[]を使用します:

int[] numbers;
String[] names;

ここでは、整数を保持する配列変数と文字列を保持する配列変数を2つ宣言しました。

配列の作成

では、私たちの配列を作成しましょう:

int[] numbers = new int[5];
String[] names = {"Alice", "Bob", "Charlie", "David", "Eve"};

最初の行では、5つの整数を保持できる配列を作成しています。二行目では、一度に配列を作成して初期化しています。

配列の処理

配列をどのように操作できるかを見ていきましょう:

int[] scores = {85, 90, 78, 88, 92};

// 要素へのアクセス
System.out.println("First score: " + scores[0]);  // 出力:85
System.out.println("Third score: " + scores[2]);  // 出力:78

// 要素の変更
scores[1] = 95;
System.out.println("Updated second score: " + scores[1]);  // 出力:95

// 配列の長さ
System.out.println("Number of scores: " + scores.length);  // 出力:5

覚えておいてください、配列のインデックスは0から始まります、1ではありません。初心者にとって一般的な間違いですが、慣れるとおっとりします!

foreachループと配列

Javaは、foreachループを使用して配列を反復処理するための整理された方法を提供します:

String[] fruits = {"Apple", "Banana", "Cherry", "Date"};

for (String fruit : fruits) {
System.out.println("I like " + fruit);
}

このループは以下を出力します:

I like Apple
I like Banana
I like Cherry
I like Date

これは、伝統的なforループよりもきれいじゃないですか?

配列をメソッドに渡す

配列は他の変数と同様にメソッドに渡すことができます:

public static void printArray(int[] arr) {
for (int num : arr) {
System.out.print(num + " ");
}
System.out.println();
}

public static void main(String[] args) {
int[] myArray = {1, 2, 3, 4, 5};
printArray(myArray);  // 出力:1 2 3 4 5
}

メソッドから配列を返す

メソッドはまた、配列を返すこともできます:

public static int[] createArray(int size) {
return new int[size];
}

public static void main(String[] args) {
int[] newArray = createArray(5);
System.out.println("Array length: " + newArray.length);  // 出力:5
}

Arraysクラス

Javaは、配列を操作するための様々なメソッドを含むユーティリティクラスArraysを提供しています。以下は一般的に使用されるメソッドの一部です:

メソッド 説明
Arrays.sort(arr) 配列をソート
Arrays.binarySearch(arr, key) 特定の要素を検索
Arrays.fill(arr, val) 配列を特定の値で埋める
Arrays.toString(arr) 配列の文字列表現を返す

これらを動作するように見ていきましょう:

import java.util.Arrays;

public class ArraysClassDemo {
public static void main(String[] args) {
int[] numbers = {5, 2, 8, 1, 9};

// ソート
Arrays.sort(numbers);
System.out.println("Sorted array: " + Arrays.toString(numbers));
// 出力:Sorted array: [1, 2, 5, 8, 9]

// バイナリサーチ
int index = Arrays.binarySearch(numbers, 5);
System.out.println("Index of 5: " + index);  // 出力:2

// 埋める
int[] filledArray = new int[5];
Arrays.fill(filledArray, 7);
System.out.println("Filled array: " + Arrays.toString(filledArray));
// 出力:Filled array: [7, 7, 7, 7, 7]
}
}

それでおしまい!あなたはこれでJavaの配列の世界に初めての一歩を踏み出しました。練習は成功の道です。異なる種類の配列を作成し、操作し、プログラムで使用してみてください。知らずにそれがなんと配列の魔法使いになっていることに気づいているでしょう!

今日の授業を終える際に、ある生徒が配列はチョコレートの箱のようだと言ったことを思い出します。中身を見るまで(または私たちの場合は印刷するまで)何が入っているかは分からないのです。幸せなコーディングを、未来のプログラマーの皆さん!

Credits: Image by storyset