Javaの配列を理解する(宣言/初期化/メソッド/サンプルコード)

Java_icon Java
この記事は約7分で読めます。

この記事は、以下の方を対象に書いています。

  • 配列が何か分からない
  • 宣言の仕方や使い方が分からない
  • 配列を使ったサンプルコードを見たい

配列とは?

配列とは、簡単に言うと値をまとめて管理する箱のようなものです。

その箱には同じ種類(同じデータ型)のものしか格納することができません。

配列の宣言と初期化

宣言と初期化を行う方法は2つあります。

1つ目は、宣言と初期化を分けて行う方法です。

配列を作成するタイミングで格納する値が決まっていない場合はこちらを使います。

// 構文
データ型[] 配列変数名 = new データ型[要素数];

// サンプルコード
int[] array = new int[5];
array[0] = 10;
array[1] = 20;
array[2] = 30;
array[3] = 40;
array[4] = 50;

2つ目は、宣言時に初期化も行う方法です。

こちらは、1行で書けるためスッキリして見やすくなります。

int[] array = {10, 20, 30, 40, 50};

便利な配列操作用メソッド

配列を操作するための便利なメソッドを紹介します。

join | 要素を繋げる

joinメソッドでは、配列の中の要素同士を繋げることが可能です。

第1引数には、繋げる文字同士の間に入れる文字列を設定します。

第2引数には、配列を設定します。

String[] array = {"aaa", "bbb", "ccc", "ddd", "eee"};
System.out.println(String.join(",", array));

// aaa,bbb,ccc,ddd,eee

length | 長さを取得

lengthメソッドでは、配列に格納されている要素数(長さ)を取得することができます。

String[] array = {"aaa", "bbb", "ccc", "ddd", "eee"};
System.out.println(array.length);

// 5

clone | 配列のコピー

cloneメソッドでは、配列のコピーを作成することが可能です。

String[] array = {"aaa", "bbb", "ccc"};
String[] newArray = array.clone();
        
System.out.println(array[0]);      // aaa
System.out.println(newArray[0]);   // aaa

サンプルコード

今回は配列を使ったプログラムを2つ紹介します。

プログラム①:テスト結果出力

5つのテスト結果を配列に格納し、平均値と合計値を出すプログラムです。

また、100点のテストがある場合は、テスト名もコンソールに表示します。

public class Training1 {
	public static void main(String[] args) {
		String[] tests = {"国語", "数学", "社会", "理科", "英語"};
		int[] result = {50, 89, 100, 88, 100};
		
		// テスト結果
		for (int i = 0; i < tests.length; i++) {
			System.out.println(tests[i] + ":" + result[i]);
		}
		
		// 改行用
		System.out.println();
		
		// 合計
		int total = 0;
		for (int point : result) {
			total += point;
		}
		System.out.println("合計点:" + total);
		
		// 平均
		System.out.println("平均点:" + total / result.length);
		
		// 改行用
		System.out.println();
		
		// 100点の科目
		String fullPoint = "";
		for (int i = 0; i < tests.length; i++) {
			fullPoint += result[i] == 100 ? tests[i] : "";
		}
		// 100点の科目があればコンソール表示
		if (fullPoint.length() > 0) {
			System.out.println("100点の科目:" + fullPoint);
		}
	}
}

プログラム②:タイピングテスト

2つ目は、簡単なタイピングテストを行うプログラムです。

配列に適当な文字列を格納し、ランダムに表示します。

そして入力した値と出力されている値が同じ場合は成功です。

5回成功するまで終わらないように制御します。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;
import java.util.Scanner;

public class Training2 {
	public static void main(String[] args) throws IOException {
		
		// 単語
		String[] words = {"たけのこ", "いのしし", "くるま", "らーめん", "ぎょうざ"};
		
		// 判定用
		int count = 0;
		boolean flg = true;
		
		// ランダム用
		Random random = new Random();
		
		// 入力用
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		System.out.println("----タイピングテスト スタート----");
		while (flg) {
			int randomNum = random.nextInt(words.length);
			System.out.println(words[randomNum]);
			String input = br.readLine();
			
			if (input.equals(words[randomNum])) {
				count++;
				if (count == 5) {
					System.out.println("終了しました。");
					flg = false;
				}
			}
		}
	}
}

最後に

ここまで読んでいただき、ありがとうございました。

今回はJavaの配列について解説しました。

サンプルコードも用意していますので、改造して遊んでみてください。

また、配列に似たListと言うものありますので、気になる方は↓の記事も読んでもらえると嬉しいです!

コメント

タイトルとURLをコピーしました