カテゴリ: Javaのメソッド 更新日: 2026/04/05

Java の戻り値とは?メソッドから値を返す方法

105
Java の戻り値とは?メソッドから値を返す方法

新人と先輩の会話形式で理解しよう

新人

「Java でメソッドが値を返すことはできますか?」

先輩

「もちろんできるよ!メソッドが処理した結果を返す仕組みを『戻り値』というんだ。」

新人

「戻り値って何ですか?どうやって使うんですか?」

先輩

「それでは、Java の戻り値の基本から説明していくよ!」

1. Java の戻り値とは?(基本的な説明)

1. Java の戻り値とは?(基本的な説明)
1. Java の戻り値とは?(基本的な説明)

Java の「戻り値」とは、メソッドが処理を実行した後に、結果を呼び出し元へ返す仕組みのことです。

戻り値の基本的なイメージ

例えば、「2 つの数を足して合計を返すメソッド」を考えてみましょう。計算した結果を呼び出し元に返すことで、プログラム内で使うことができます。

戻り値を使った Java のメソッド


public class ReturnExample {
    public static void main(String[] args) {
        // メソッドを呼び出し、戻り値を受け取る
        int sum = add(5, 3);
        System.out.println("足し算の結果: " + sum);
    }

    // 戻り値のあるメソッド
    public static int add(int a, int b) {
        return a + b;
    }
}

足し算の結果: 8

このように、メソッド add は計算した結果を return キーワードを使って返し、それを変数 sum に代入しています。

2. 戻り値を使うメリット

2. 戻り値を使うメリット
2. 戻り値を使うメリット

戻り値を使うことで、メソッドの結果を他の処理に活用できるようになります。

戻り値を使うと何が便利?

  • ✔ 計算結果や処理結果を他の処理に活かせる
  • ✔ メソッドを再利用しやすくなる
  • ✔ プログラムの構造を整理しやすくなる

戻り値を使わない場合と比較

戻り値を使わずに、直接出力するメソッドを作ると、結果をプログラム内で活用できません。


public class NoReturnExample {
    public static void main(String[] args) {
        // 計算結果を使えない
        add(5, 3);
    }

    public static void add(int a, int b) {
        System.out.println("足し算の結果: " + (a + b));
    }
}

足し算の結果: 8

このように、add メソッドは直接出力するだけなので、計算結果を他で使うことができません。

戻り値を使った場合

一方で、戻り値を使えば計算結果を変数に保存して、他の処理にも活用できます。


public class ReturnExample {
    public static void main(String[] args) {
        int sum = add(5, 3);
        System.out.println("足し算の結果: " + sum);
        
        // 他の処理でも利用可能
        int doubleSum = sum * 2;
        System.out.println("結果を2倍: " + doubleSum);
    }

    public static int add(int a, int b) {
        return a + b;
    }
}

足し算の結果: 8
結果を2倍: 16

このように、戻り値を使えば、計算結果を他の処理に利用することができ、プログラムの柔軟性が向上します。

3. 戻り値を使う基本的な方法

3. 戻り値を使う基本的な方法
3. 戻り値を使う基本的な方法

Java のメソッドは、処理の結果を戻り値として返すことができます。基本的な使い方を理解するために、簡単な例を見てみましょう。

戻り値のあるメソッドの基本

メソッドの戻り値を指定するには、return キーワードを使います。


public class ReturnExample {
    public static void main(String[] args) {
        // メソッドを呼び出し、戻り値を変数に保存
        int result = getNumber();
        System.out.println("戻り値: " + result);
    }

    // 戻り値を持つメソッド
    public static int getNumber() {
        return 10;
    }
}

戻り値: 10

このように、getNumber メソッドは整数 10 を返し、それを変数 result に保存して表示しています。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. 異なるデータ型の戻り値を扱う方法

4. 異なるデータ型の戻り値を扱う方法
4. 異なるデータ型の戻り値を扱う方法

戻り値は、整数(int)だけでなく、文字列(String)、小数(double)、真偽値(boolean)など、さまざまなデータ型を扱うことができます。

文字列を返すメソッド

以下のメソッドは、文字列の戻り値を持ちます。


public class StringReturnExample {
    public static void main(String[] args) {
        String message = getMessage();
        System.out.println(message);
    }

    public static String getMessage() {
        return "こんにちは!";
    }
}

こんにちは!

小数を返すメソッド

戻り値に double を指定すると、小数を返すことができます。


public class DoubleReturnExample {
    public static void main(String[] args) {
        double piValue = getPi();
        System.out.println("円周率: " + piValue);
    }

    public static double getPi() {
        return 3.14159;
    }
}

円周率: 3.14159

真偽値を返すメソッド

真偽値(boolean)を返すことで、条件分岐の判断に利用できます。


public class BooleanReturnExample {
    public static void main(String[] args) {
        boolean isAdult = checkAge(20);
        System.out.println("成人ですか?: " + isAdult);
    }

    public static boolean checkAge(int age) {
        return age >= 18;
    }
}

成人ですか?: true

このように、さまざまなデータ型の戻り値を扱うことで、柔軟なプログラムを作ることができます。

5. 戻り値を使って計算結果を返す方法

5. 戻り値を使って計算結果を返す方法
5. 戻り値を使って計算結果を返す方法

メソッドの戻り値を使うことで、計算結果をメソッドの外部で利用できます。例えば、数値を受け取って計算し、その結果を返す方法を見てみましょう。

足し算の結果を返すメソッド

以下のメソッドは、2 つの数を受け取り、合計を戻り値として返します。


public class SumReturnExample {
    public static void main(String[] args) {
        int total = addNumbers(10, 5);
        System.out.println("合計: " + total);
    }

    public static int addNumbers(int a, int b) {
        return a + b;
    }
}

合計: 15

割引価格を計算するメソッド

商品価格と割引率を受け取り、割引後の価格を計算して返すメソッドを作成できます。


public class DiscountExample {
    public static void main(String[] args) {
        double price = calculateDiscountPrice(5000, 0.1);
        System.out.println("割引後の価格: " + price + "円");
    }

    public static double calculateDiscountPrice(double price, double discountRate) {
        return price * (1 - discountRate);
    }
}

割引後の価格: 4500.0円

最大値を求めるメソッド

2 つの数を比較し、大きい方を返すメソッドを作ることもできます。


public class MaxValueExample {
    public static void main(String[] args) {
        int max = getMax(15, 20);
        System.out.println("最大値: " + max);
    }

    public static int getMax(int a, int b) {
        return (a > b) ? a : b;
    }
}

最大値: 20

このように、計算結果を戻り値として返すことで、より柔軟なプログラムを作ることができます。

6. 文字列や配列を戻り値として返す方法

6. 文字列や配列を戻り値として返す方法
6. 文字列や配列を戻り値として返す方法

戻り値には、整数や小数だけでなく、文字列や配列も指定できます。これにより、より多くのデータをメソッドの外部で活用できます。

文字列を戻り値として返す

以下のメソッドは、名前を受け取り、挨拶のメッセージを戻り値として返します。


public class StringReturnExample {
    public static void main(String[] args) {
        String message = createGreeting("田中");
        System.out.println(message);
    }

    public static String createGreeting(String name) {
        return "こんにちは、" + name + "さん!";
    }
}

こんにちは、田中さん!

配列を戻り値として返す

メソッドの戻り値に配列を指定すると、複数の値を一度に返すことができます。


public class ArrayReturnExample {
    public static void main(String[] args) {
        int[] numbers = getNumbers();
        for (int num : numbers) {
            System.out.println("取得した値: " + num);
        }
    }

    public static int[] getNumbers() {
        return new int[]{10, 20, 30};
    }
}

取得した値: 10
取得した値: 20
取得した値: 30

このように、配列を戻り値として使うことで、複数のデータを一度に扱うことができます。

7. 複数の値をまとめて返す方法(配列を使う方法)

7. 複数の値をまとめて返す方法(配列を使う方法)
7. 複数の値をまとめて返す方法(配列を使う方法)

メソッドの戻り値は 1 つですが、配列を使うことで複数の値をまとめて返すことができます。

2 つの数の合計と平均を同時に返す

配列を使って、複数の計算結果を 1 つのメソッドで返すことができます。


public class MultiReturnExample {
    public static void main(String[] args) {
        double[] results = calculateSumAndAverage(50, 30);
        System.out.println("合計: " + results[0]);
        System.out.println("平均: " + results[1]);
    }

    public static double[] calculateSumAndAverage(int a, int b) {
        double sum = a + b;
        double average = sum / 2;
        return new double[]{sum, average};
    }
}

合計: 80.0
平均: 40.0

このように、配列を使うことで、1 つのメソッドで複数の値を返すことができます。

8. 戻り値を使う際の注意点(データ型の不一致、戻り値の適切な設計)

8. 戻り値を使う際の注意点(データ型の不一致、戻り値の適切な設計)
8. 戻り値を使う際の注意点(データ型の不一致、戻り値の適切な設計)

戻り値を使う際には、いくつかの注意点があります。特に、データ型の不一致や適切な設計を意識することが重要です。

データ型の不一致に注意

戻り値の型と、変数の型が一致していないとコンパイルエラーになります。


public class TypeMismatchExample {
    public static void main(String[] args) {
        // エラー: getNumber() は int を返すのに double に代入しようとしている
        double value = getNumber();
        System.out.println(value);
    }

    public static int getNumber() {
        return 100;
    }
}

上記のコードは、getNumber() メソッドが int を返しているのに、double 型の変数に代入しようとしているため、コンパイルエラーになります。

適切な戻り値の設計を意識する

メソッドの戻り値を設計するときは、適切な型を選ぶことが重要です。例えば、数値の計算結果を返す場合、整数なら int、小数を含むなら double を選びます。

例: 不適切な戻り値の型

以下の例では、合計値を int で返してしまい、計算結果が正しく取得できません。


public class WrongReturnTypeExample {
    public static void main(String[] args) {
        int avg = getAverage(10, 3);
        System.out.println("平均: " + avg);
    }

    public static int getAverage(int a, int b) {
        return (a + b) / 2; // 小数部分が切り捨てられる
    }
}

平均: 6

この例では、正しく平均を求めるためには double を使うべきです。

適切な戻り値の型を使う

計算結果に小数が含まれる場合は、戻り値の型を double にすることで正確な値を取得できます。


public class CorrectReturnTypeExample {
    public static void main(String[] args) {
        double avg = getAverage(10, 3);
        System.out.println("平均: " + avg);
    }

    public static double getAverage(int a, int b) {
        return (a + b) / 2.0; // 小数を考慮
    }
}

平均: 6.5

このように、戻り値の型を適切に設計することで、プログラムの精度を向上させることができます。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaの戻り値(もどりち)とは、具体的にどのような仕組みのことを指すのでしょうか?プログラミング初心者にもわかりやすく教えてください。

Javaの戻り値とは、メソッドの中で行われた命令や計算の処理が終わった後に、その実行結果を呼び出し元(メソッドを動かした側)に受け渡す仕組みのことです。例えば、自動販売機にお金を入れてボタンを押すと、飲み物が出てきますよね。この「出てきた飲み物」がプログラミングにおける戻り値のイメージです。メソッドに特定の仕事を頼み、その成果物を受け取ることで、その後のプログラムの処理に活用できるようになります。
Javaのメソッドの一覧へ
新着記事
Java
Java のカプセル化とは?データを安全に管理する仕組み
Java のカプセル化とは?データを安全に管理する仕組みを解説
Java
Java の継承の制約(final クラスや final メソッドの扱い)
Java の継承の制約を完全解説!final クラスや final メソッドの扱いを初心者向けにやさしく解説
AWS
【AWS】CLIで環境変数を使った安全な認証情報管理
【AWS CLI】環境変数で安全に認証情報を管理する方法を徹底解説!初心者向けセキュリティ対策ガイド
Java
Java のコンストラクタと継承(親クラスのコンストラクタを呼ぶ方法)
Java のコンストラクタと継承(親クラスのコンストラクタを呼ぶ方法)を初心者向けにやさしく解説
人気記事
AWS
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
AWS
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
AWS
インスタンスタイプの料金比較と最適な選び方(最新2026年版)
AWSインスタンスタイプの料金比較と最適な選び方!初心者でもわかる2025年最新ガイド
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク