Javaでメソッドを作成

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

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

  • メソッドの使い方がよく分からない
  • サンプルコードを見てみたい

メソッドとは?

メソッドとは、何度も同じコードを書かなくていいように処理をまとめたものです。

開発規模が大きくなるにつれて、共通の処理は多くなります。

そういった場面で活躍してくれるのがメソッドです。

例えば、足し算をする処理は共通の処理なのでメソッドにする、といったイメージです。

メソッドの構文

メソッドの構文は以下の通りです。

アクセス修飾子 戻り値 メソッド名(引数) {
    // 何らかの処理
    // 戻り値がvoid以外の場合は「return 戻り値」が必要
}

分かりづらいので、日本語の箇所を解説します。

それでも分かりづらいので、サンプルコードも一緒にみてください。

項目説明
アクセス修飾子「public」, 「protected」, 「何も書かない」, 「private」
の4つの内、1つを記述
戻り値戻りの型を記述、戻り値がない場合は「void」を記述
メソッド名プログラマーが自由に指定
引数必要な場合は「型 変数名」で記述、なしの場合は空白

サンプルコード

サンプルコードを2つ紹介します。

①引数を2つ渡して足し算する

まず、Calcクラスにplusメソッドを作成します。

引数はint型の値を2つ設定して、戻り値はint型にしています。

public class Calc {
    public int plus(int value1, int value2) {
        return value1 + value2;
    }
}

次にMainクラスにmainメソッドを作成し、Calcクラスを呼び出します。

最後にmainメソッド内でCalcクラスのplusメソッドを呼び出してコンソール表示します。

public class Main {
    public static void main(String[] args) {
        Calc calc = new Calc();
        System.out.println(calc.plus(2, 5));
    }
}

このプログラムを実行すると「7」がコンソールに表示されます。

②文字列をコンソール表示

今度は、Consoleクラスを作成し、String型の引数を持つdisplayメソッドを定義します。

displayメソッドでは、戻り値をvoidにしてコンソールに表示するようにしています。

public class Console {
    public void display(String value) {
        System.out.println("This is " + value + "!");
    }
}

次に、Mainクラスにmainメソッドを作成して、Consoleクラスのdisplayメソッドを呼び出します。

public class Main {
    public static void main(String[] args) {
        Console console = new Console();
        console.display("Java Training");
    }
}

ここでよく勘違いしてしまうポイントについて説明します。

書籍や他のサイトのサンプルコードでも戻り値がvoidの場合は、

System.out.println()になっているため、voidの時はコンソール表示と勘違いされやすいです。

voidの場合は「何も返さない」が正解です。returnしなければ何でもいいです。

サンプルコード(応用編)

応用的なメソッドの使い方を2つ紹介します。

①Listから特定の文字を含むものだけ取り出す

以下では、引数で渡したListの中から5文字以上のものだけを抽出して、

Listで返すプログラムを作成します。

import java.util.ArrayList;
import java.util.List;

public class Training1 {
	public static void main(String[] args) {
		// Listの準備
		List<String> list = new ArrayList<>();
		// 値の格納
		list.add("yelow");
		list.add("red");
		list.add("blue");
		list.add("white");
		list.add("green");
		
		// コンソール表示とメソッド呼び出し
		System.out.println(getFiveLength(list));
	}
	
	// メソッド作成
	private static List<String> getFiveLength(List<String> list) {
		// 返却用Listの準備
		List<String> newList = new ArrayList<>();
		// 引数のListを繰り返し処理
		for (String val : list) {
			// Listの中の値の長さが5以上の時
			if (val.length() >= 5) {
				// 返却用Listに格納
				newList.add(val);
			}
		}
		// Listの返却
 		return newList;
	}
}
Java_console_result1

②データを格納したクラスを引数で渡す

データ格納用のクラスを作成し、データを格納した状態でメソッドに渡します。

メソッドでは、渡ってきたデータを加工してコンソールに表示するようにします。

public class Training2 {
	public static void main(String[] args) {
		// データ格納用クラスの準備
		TrainingData td1 = new TrainingData();
		// 値のセット
		td1.setName("斎藤");
		td1.setAge(33);
		// メソッド呼び出し
		getDetail(td1);
		
		// 改行
		System.out.println();
		
		// データ格納用クラスの準備
		TrainingData td2 = new TrainingData();
		// 値のセット
		td2.setName("近藤");
		td2.setAge(19);
		// メソッド呼び出し
		getDetail(td2);
		
	}
	
	// メソッド作成(引数はデータ格納用クラス)
	private static void getDetail(TrainingData td) {
		// コンソール表示とデータ格納用クラスからデータの呼び出し
		System.out.println("名前:" + td.getName());
		System.out.println("年齢:" + td.getAge());
	}
}
// データ格納用クラス
public class TrainingData {
	// 名前
	private String name;
	// 年齢
	private int age;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}
Java_console_result2

備考

Listの使い方については、別の記事で解説していますので、そちらも参考に。

最後に

最後まで読んでいただき、ありがとうございます。

今回は、Javaでメソッドを作る方法について解説しました。

サンプルコードも2つ用意していますので、いろいろ拡張してみてください。

コメント

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