Javaにはいくつかの処理をひとまとめにしたメソッドがあります。同じ処理を繰り返し行う場合には、メソッドを使うと便利になります。
この記事ではJavaのメソッドの基本的な使い方から、応用的な使い方まで解説していきます。
- 【基本】メソッドとは
- 【基本】メソッドに引数を使って値を渡す方法
- 【基本】メソッドの戻り値(return)の使い方
- 【応用】メソッド名を取得する方法
- 【応用】staticメソッドの使い方
- 【応用】メソッド参照の使い方
- 【応用】メソッドチェーンの使い方
今回はこれらの方法を覚えるために、メソッドのさまざまな使い方をわかりやすく解説します。
なお、Javaの記事については、こちらにまとめています。
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つの値を指定して、メソッドの中で足し算をした値を表示する処理をしています。
メソッドに引数を使って値を渡す方法についてはこちらで詳しく解説しているので、ぜひ確認してください!
メソッドの戻り値(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についてもっと詳しく知りたい方へ
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種類の方法で取得して表示しています。
メソッド名を取得する方法についてはこちらで詳しく解説しているので、ぜひ確認してください!
staticメソッドの使い方
staticメソッドとはメソッド名の前にstatic句がついたメソッドのことです。クラス内で固有、保持されるメソッドのことです。staticメソッドはnew句を使ってインスタンス化せずに、クラス名から呼び出すことができます。
staticなメソッドでは、staticな変数と引数で渡された値を使って処理を行います。非staticな変数やメソッドを使って処理はできないので注意してください。
staticメソッドの使い方については、こちらでくわしく解説していますので、ぜひ参考にしてください。
メソッド参照の使い方
メソッド参照はJava8で導入された機能で、処理を簡潔に書くことが出来るようになります。
メソッド参照の使い方についてはこちらで詳しく解説しているので、ぜひ確認してください!
メソッドチェーンの使い方
メソッドチェーンとは、メソッドを鎖(チェーン)のようにつなげて呼び出すというものです。たくさんのメソッドを持つクラスからメソッドを呼び出す際に、手短に記述することができます。
チェーンでつなぐメソッドは自身のオブジェクトの参照を返す必要があります。返されたオブジェクトからメソッドを呼び出すことで連結していきます。
サンプルコードで確認しましょう。
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メソッドを連結して呼び出されています。
まとめ
いかがでしたか?今回はメソッドの使い方について解説しました。
メソッドを使うことで、コードが読みやすくなったり、変更が容易になるというメリットがあるのでぜひ覚えてくださいね。
もし、メソッドを使う方法を忘れてしまったらこの記事を確認してください!