[速攻Java] Lesson3~メソッド・コレクション~

どうも、tatsuです!

速攻Java Lesson3ということで、メソッドとコレクションを説明していこうと思います!
環境構築はLesson1、基本構文はLesson2を参照してください。

[速攻Java] Lesson2~基本構文~

2017.11.07

[速攻Java] Lesson1~環境構築~

2017.11.06

メソッド

プログラムを書くにつれてソースコードの可読性が下がっていきます。
そこでメソッドを使って処理を分割し、可読性を上げましょう。
 
↓の処理を分割すると

package SamplePackage;

public class SampleClass {

	public static void main(String[] args) {

		for(int i = 0; i < 5; i++) {
			System.out.println("おはようございます");
			System.out.println("こんにちは");
			System.out.println("こんばんは");
		}

	}
}

 
↓のようになりました。

package SamplePackage;

public class SampleClass {

	// mainメソッド
	public static void main(String[] args) {

		for(int i = 0; i < 5; i++) {
			// メソッド名()と書くことでメソッドを呼び出せる
			printGreeting();
		}
	}

	// おはようございます、こんにちは、こんばんはを出力するメソッド
	public static void printGreeting() {

		System.out.println("おはようございます");
		System.out.println("こんにちは");
		System.out.println("こんばんは");
	}
}

 
このように処理をメソッド化することで可読性があがりますし、色々な箇所で再利用可能になります。
 
また、以下のようにメソッド呼び出し側で値を指定することで、メソッドに値を渡すことができます。

package SamplePackage;

public class SampleClass {

	// mainメソッド(最初に呼び出される特別なメソッド)
	public static void main(String[] args) {

		for(int i = 0; i < 5; i++) {
			// カンマ区切りで3つ値を渡す
			printGreeting("おはよう","こんちは","こんばんは");
		}
	}

	// 受け取った値を出力する メソッド側で、値の型とメソッド内で使用する名前を指定しておく
	public static void printGreeting(String str1, String str2, String str3) {

		System.out.println(str1);
		System.out.println(str2);
		System.out.println(str3);
	}
}

コレクション

Javaにはコレクションと呼ばれる便利なものが存在します。
今回はコレクションの中でもよく使われる、ArrayListとHashMapについて説明します。

ArrayList

ArrayListは配列のようなことができます。
最大の特徴は、配列と違って最初に値の個数を指定する必要が無いということです。
以下のようにして使用します。

package SamplePackage;

import java.util.ArrayList;

public class SampleClass {

	// mainメソッド
	public static void main(String[] args) {

		// ArrayList<値の型> 変数名 = new ArrayList<>(); と書くことで生成できる
		// この指定方法はLesson4で説明する「クラス」の作成方法と同じである
		ArrayList<String> noodles = new ArrayList<>();

		// 値を追加する
		noodles.add("ラーメン");

		// 値を取得して出力する
		// 変数名.get(番数) で取得可能  番数は追加した順番に0から振られていく
		System.out.println(noodles.get(0));
	}
}

 
また、配列のようにArrayListの中身をfor文で表示してみましょう。

package SamplePackage;

import java.util.ArrayList;

public class SampleClass {

	// mainメソッド
	public static void main(String[] args) {

		ArrayList<String> noodles = new ArrayList<>();

		// 値を追加する
		noodles.add("ラーメン");
		noodles.add("そうめん");
		noodles.add("そば");
		noodles.add("うどん");
		noodles.add("つけめん");

		// 中身を出力する  変数名.size() でArrayListの個数が取得できる
		for(int i = 0; i < noodles.size(); i++) {
			System.out.println(noodles.get(i));
		}
	}
}

実行することで追加した値がコンソールに出力されることを確認してください。

HashMap

HashMapはキーと値のペアで格納することができます。
以下のようにして使用します。

package SamplePackage;

import java.util.HashMap;

public class SampleClass {

	// mainメソッド
	public static void main(String[] args) {

		// HashMap<キーの型,値の型> 変数名 = new HashMap<>();  で記述する
		HashMap<String,String> map = new HashMap<>();

		// HashMapに値を格納する  (キー,値)の順で記述する
		map.put("キー1", "キー1の値");
		map.put("キー2", "キー2の値");
		map.put("キー3", "キー3の値");

		// キーを指定して値を取得する
		System.out.println(map.get("キー2"));
	}
}

これを実行すると「キー2の値」がコンソールに表示されるはずです。

まとめ

いかがでしたか?
今回はメソッドとコレクションについて記事にしてみました。
次回はいよいよオブジェクト指向の要であるクラスについて説明したいと思います!
それでは!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です