スライドショースライドショー

【Java入門】メソッドの使い方総まとめ(呼び出し、引数、戻り値)

Javaにはいくつかの処理をひとまとめにしたメソッドがあります。同じ処理を繰り返し行う場合には、メソッドを使うと便利になります。

この記事ではJavaのメソッドの基本的な使い方から、応用的な使い方まで解説していきます。

  • 【基本】メソッドとは
  • 【基本】メソッドに引数を使って値を渡す方法
  • 【基本】メソッドの戻り値(return)の使い方
  • 【応用】メソッド名を取得する方法
  • 【応用】staticメソッドの使い方
  • 【応用】メソッド参照の使い方
  • 【応用】メソッドチェーンの使い方
  • 今回はこれらの方法を覚えるために、メソッドのさまざまな使い方をわかりやすく解説します。

    Javaメソッドの基本

    メソッドとは

    メソッドとは、いくつかの処理をひとまとめにしたものです。

    処理をメソッドにしてまとめておくことで、同じ処理を繰り返し行う場合に同じコードを記述するのではなく、メソッドを繰り返し使用するだけでよくなります。

    メソッドを使うことで、以下のようなメリットがあります。

    • コードが読みやすくなる
    • 変更が容易になる
    • 処理を再利用できる

    メソッドJavaの基本的な処理となりますので、使い方についてはしっかりと理解しておきましょう。

    メソッドを定義する方法

    メソッドは次のように記述して定義します。

    修飾子 戻り値の型 メソッド名(引数){
        メソッドの処理
    }

    これを具体的に記述すると次のようになります。

    public int sample(int num) {
        num++;
        return num;
    }

    メソッドの呼び出し方

    メソッドの呼び出し方は戻り値を返すかどうかで変わってきます。戻り値については、後ほど詳しく説明します。

    戻り値を返さない場合は次のように記述して呼び出します。

    メソッド名(引数)

    戻り値を返す場合は次のように記述して呼び出します。

    戻り値を格納するオブジェクト変数名 = メソッド名(引数)

    メソッドの詳しい解説はこの記事で順に解説していくので、ぜひ最後まで確認してください!

    メソッドに引数を使って値を渡す方法

    ここではメソッドに引数を使って値を渡す方法を解説します。メソッドに引数を使って値を渡すためには、メソッド名の後の括弧の中に渡したい値を指定します。

    次のプログラムでメソッドに引数を使って値を渡す方法を確認してみましょう。

    public class Main {
     
        public static void main(String[] args) {
            add(1, 2);
            add(4, 6);
        }
     
        public static void add(int num1, int num2) {
            System.out.println(num1 + num2);
        }
    }

    実行結果:

    3
    10

    このプログラムではメソッドの引数に2つの値を指定して、メソッドの中で足し算をした値を表示する処理をしています。

    メソッドに引数を使って値を渡す方法についてはこちらで詳しく解説しているので、ぜひ確認してください!

    Javaのメソッド引数丸わかり!値渡し/参照渡し/可変長/final
    更新日 : 2019年5月17日

    メソッドの戻り値(return)の使い方

    ここではメソッドの戻り値の使い方を解説します。メソッドの戻り値を使うことで、メソッドの処理の結果を呼び出し元で使用することができます。

    戻り値は「return」を使用して指定します。次のプログラムで確認してみましょう。

    public class Main {
     
        public static void main(String[] args) {
            int result = add(1, 2);
            System.out.println(result);
        }
     
        public static int add(int num1, int num2) {
            return num1 + num2;
        }
    }

    実行結果:

    3

    このプログラムでは戻り値を使って、メソッドで足し算した結果を呼び出し元に返して表示しています

    メソッドの戻り値の使い方についてはこちらで詳しく解説しているので、ぜひ確認してください!

    【Java入門】return文でメソッドの戻り値を使う(複数の戻り値も解説)
    更新日 : 2019年5月10日

    Javaについてもっと詳しく知りたい方へ


    Javaのスキルをしっかりと身につけたい。
    Javaを効率よく学ぶにはどうすればいいの?

    ここまで読んで、実際にJavaのスキルをしっかりと身につけてみたいと感じた方もいるのではないでしょうか?

    その場合は、弊社で行っている「無料体験レッスン」に参加してみてください。

    この無料体験レッスンでは、あなたがプログラミングを学ぶ目的を明確にして、その明確になったキャリアに向かって最短でスキルを習得するための学習プランを提案させて頂きます。学習プランがあれば、独学でも無駄のない学習で最速でエンジニアになれるイメージが湧くと思います。

    侍エンジニア塾では下記の3つの軸で、完全個別型のプログラミング学習指導を行なっています。

    オンラインでも無料体験レッスンは受講できるので、気軽にお申し込みください。

    無料体験レッスンを予約する

    Javaメソッドの応用

    メソッド名を取得する方法

    ここではメソッド名を取得する方法を解説します。メソッド名の取得は実行中のクラスから取得する方法と、スタックトレースから取得する方法の2種類の方法があります。

    次のプログラムで確認してみましょう。

    public class Main {
     
        public static void main(String[] args) {
            String methodName = new Object(){}.getClass().getEnclosingMethod().getName();
            System.out.println("実行中のクラスから取得したメソッド名 : " + methodName);
            
            methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
            System.out.println("スタックトレースから取得したメソッド名 : " + methodName);
        }
    }

    実行結果:

    実行中のクラスから取得したメソッド名 : main
    スタックトレースから取得したメソッド名 : main

    このプログラムではメソッド名を2種類の方法で取得して表示しています。

    メソッド名を取得する方法についてはこちらで詳しく解説しているので、ぜひ確認してください!

    【解決Java】クラス名とメソッド名を取得する方法
    更新日 : 2017年8月1日

    staticメソッドの使い方

    staticメソッドとはメソッド名の前にstatic句がついたメソッドのことです。クラス内で固有、保持されるメソッドのことです。staticメソッドはnew句を使ってインスタンス化せずに、クラス名から呼び出すことができます。

    staticなメソッドでは、staticな変数と引数で渡された値を使って処理を行います。非staticな変数やメソッドを使って処理はできないので注意してください。

    staticメソッドの使い方については、こちらでくわしく解説していますので、ぜひ参考にしてください。

    【Java入門】staticメソッドの書き方・使い方まとめ
    更新日 : 2019年5月28日

    メソッド参照の使い方

    メソッド参照はJava8で導入された機能で、処理を簡潔に書くことが出来るようになります。

    メソッド参照の使い方についてはこちらで詳しく解説しているので、ぜひ確認してください!

    【楽チンJava】メソッド参照での呼び出し方
    更新日 : 2017年7月27日

    メソッドチェーンの使い方

    メソッドチェーンとは、メソッドを鎖(チェーン)のようにつなげて呼び出すというものです。たくさんのメソッドを持つクラスからメソッドを呼び出す際に、手短に記述することができます。

    チェーンでつなぐメソッドは自身のオブジェクトの参照を返す必要があります。返されたオブジェクトからメソッドを呼び出すことで連結していきます。

    サンプルコードで確認しましょう。

    class MyClass {
        private int a;
        private int b;
        
        public MyClass setA(int a) {
            this.a = a;
            return this;
        }
        
        public MyClass setB(int b) {
            this.b = b;
            return this;
        }
        
        public void print() {
            System.out.println("a: " + a + ", b: " + b);
        }
    }
    
    public class Main {
        
        public static void main(String args[]) {
            MyClass mc = new MyClass();
            mc.setA(1).setB(2).print();
        }
        
    }

    実行結果:

    a: 1, b: 2

    このサンプルコードでは、まずメソッドを複数もつクラスMyClassを定義しています。MyClassはMyClass自身を返すメソッドをメンバーに持っています。

    これらのメソッドは、MyClassをインスタンス化したオブジェクトからsetA、setB、printメソッドを連結して呼び出されています。

    まとめ

    いかがでしたか?今回はメソッドの使い方について解説しました。

    メソッドを使うことで、コードが読みやすくなったり、変更が容易になるというメリットがあるのでぜひ覚えてくださいね。

    もし、メソッドを使う方法を忘れてしまったらこの記事を確認してください!

    LINEで送る
    Pocket

    無料でSEからWebエンジニアへ転職しませんか?



    侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

    • システムエンジニアという職業だけどコードが書けない
    • 事務作業が多くスキルがないため将来が不安
    • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
    という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

    弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

    既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

    まずは無料体験レッスンを予約する

    書いた人

    中沢 丈

    中沢 丈

    フリーランスエンジニア。
    システム開発からコンテンツ作成まで幅広く対応します。

    連絡先はこちらです。
    [email protected]

    おすすめコンテンツ

    あなたにぴったりなプログラミング学習プランを無料で診断!

    プログラミング学習の効率を劇的に上げる学習メソッドを解説