本文へスキップ
BecomeCoder

Java文法コース · 第6章 メソッド ― 処理をひとまとまりにする · レッスン24

メソッドの定義と呼び出し ― 引数と戻り値

ブラウザで完結

導入

「2つの数を足す」処理を何度も書くくらいなら、1回だけ書いておいて、必要なときに呼び出せたら便利だと思いませんか。それを実現するのがメソッドです。

説明

public class Main {
    public static void main(String[] args) {
        int result = add(3, 5);
        System.out.println(result);
        System.out.println(add(10, 20));
    }

    static int add(int a, int b) {
        return a + b;
    }
}
  • static int add(int a, int b) { ... } … メソッドの定義です。戻り値の型(ここでは int)・メソッド名add)・引数int a, int b)の順に書きます。
  • int a, int b引数(パラメータ)。呼び出し側から渡された値がここに入ります。
  • return a + b;戻り値。メソッドの呼び出し元にこの値を返して、メソッドの実行を終えます。
  • add(3, 5) … メソッドの呼び出し。渡した 35 が、それぞれ ab に入ります。
  • static は「クラスに属するメソッド(インスタンスを作らなくても呼べる)」という意味です。詳しくはオブジェクト指向コースで扱いますが、Main クラスの main から直接呼ぶメソッドは、ひとまず static をつけると覚えておきましょう。

一度書いた add は、何度でも違う引数で呼び出せます。同じ処理を書き直す必要がなくなるのがメソッドの利点です。

やってみよう

下のエディタで add に渡す数値をいろいろ変えて呼び出してみましょう。add の中身を a - b(引き算)に変えて、結果がどう変わるかも試してみてください。

演習

2つの int を受け取り、大きい方を返す max(int a, int b) メソッドを作り、main から max(15, 42) を呼び出して結果を表示してください(結果は 42)。

ヒント1を見る

static int max(int a, int b) { if (a > b) { return a; } return b; } のように書きます。

ヒント2を見る

main の中で System.out.println(max(15, 42));

実際に動かしてみよう

下のエディタにJavaを書いて「実行」を押すと、学習用シミュレータが System.out.println の出力を表示します(本物のJVMではなく、教材の範囲を再現した軽量エンジンです)。クラス・継承・コレクションなども動きます。Scanner で入力を読む例は「標準入力」欄に値を入れてください。本文の例を書き換えて動かしてみましょう(Stream・ラムダ・スレッド・ファイル入出力など一部の機能は対象外です)。

Java — ブラウザ内で実行(学習用シミュレータ)

Javaの教材サブセットを動かす学習用シミュレータを読み込みます(本物のJVMではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。