Javaのメソッドの使い方完全ガイド!初心者でもわかるメソッド名、引数、戻り値、staticの基本
生徒
「Javaで同じような処理を何度も書かずに簡単に実行できる方法ってありますか?」
先生
「良い質問ですね!そのようなときに使えるのがメソッドです。メソッドは処理をまとめて、必要なときに呼び出して使える機能です。これから詳しく説明していきますね。」
生徒
「メソッドの作り方や使い方を教えてください!」
先生
「もちろんです。メソッドの基本的な構成から、引数や戻り値、staticメソッドについても順番に解説していきますね!」
1. Javaのメソッドとは?
Javaにおけるメソッドは、特定の処理を実行するためにプログラム内で定義された一連のステートメントの集合です。メソッドを使うことで、同じ処理を何度も書かずに再利用することができ、コードの整理や保守性が向上します。
2. メソッド名の付け方
メソッド名は、そのメソッドが何をするのかをわかりやすく表現する名前を付けることが重要です。たとえば、数値を表示するメソッドならprintNumber、合計を計算するならcalculateTotalのようにします。名前を見ただけで処理内容がわかるように工夫することで、コードの可読性が高まります。
3. 引数の使い方(引数あり、引数なし、複数引数)
引数とは、メソッドを呼び出すときに渡すデータのことです。引数を設定することで、メソッドに柔軟性を持たせることができます。引数がない場合は、メソッド内で固定された処理を行います。
たとえば、引数なしのメソッドは次のように定義します。
public class NoArgsMethod {
public static void main(String[] args) {
greet();
}
public static void greet() {
System.out.println("こんにちは、Javaプログラミング!");
}
}
次に、引数ありのメソッドの例を見てみましょう。
public class WithArgsMethod {
public static void main(String[] args) {
printNumber(5);
}
public static void printNumber(int number) {
System.out.println("渡された数値は: " + number);
}
}
さらに、複数の引数を持つメソッドを作成することも可能です。
public class MultipleArgsMethod {
public static void main(String[] args) {
int sum = add(3, 7);
System.out.println("合計は: " + sum);
}
public static int add(int a, int b) {
return a + b;
}
}
この例では、addメソッドが2つの引数aとbを受け取り、その合計を計算して返します。
4. 戻り値の使い方(戻り値あり、戻り値なし、void、return、複数の戻り値)
戻り値とは、メソッドが処理を終えた後に返すデータのことです。戻り値がない場合、メソッドはvoidとして定義されます。
次の例は、戻り値がない(void)メソッドです。
public class VoidMethod {
public static void main(String[] args) {
displayMessage();
}
public static void displayMessage() {
System.out.println("これは戻り値のないメソッドです。");
}
}
一方、戻り値のあるメソッドはreturn文を使ってデータを返します。
public class ReturnMethod {
public static void main(String[] args) {
int result = multiply(4, 5);
System.out.println("掛け算の結果: " + result);
}
public static int multiply(int a, int b) {
return a * b;
}
}
Javaでは基本的に1つの戻り値しか返せませんが、オブジェクトを使うことで複数の値をまとめて返すことが可能です。
public class MultiReturn {
public static void main(String[] args) {
int[] results = calculate(10, 3);
System.out.println("商: " + results[0] + ", 余り: " + results[1]);
}
public static int[] calculate(int dividend, int divisor) {
int quotient = dividend / divisor;
int remainder = dividend % divisor;
return new int[]{quotient, remainder};
}
}
5. mainメソッドから呼び出すstaticメソッドのポイント
Javaのmainメソッドから呼び出す場合、対象のメソッドはstaticとして宣言されている必要があります。staticメソッドは、クラスのインスタンスを作らずに直接呼び出すことができるメソッドです。
public class StaticExample {
public static void main(String[] args) {
displayGreeting();
}
public static void displayGreeting() {
System.out.println("ようこそ、Javaの世界へ!");
}
}
staticメソッドのメリットは、インスタンスを作成せずにメソッドを呼び出せるため、シンプルな処理に適している点です。
6. メソッド名の命名規則(キャメルケース・動詞で始める)
Javaのメソッド名は小文字で始めるローワーキャメルケースで書き、処理を端的に表す動詞+目的語の形にすると読みやすくなります。短すぎず長すぎないバランスを意識し、否定形や曖昧な単語は避けましょう。
calculateTotal/printNumber/findUserByIdのように「何をするか」を明確にする- 略語乱用や
doIt等の抽象名は避ける、ブール値はisやhasで始める
public class NamingSamples {
// 良い例
public static int calculateTotal(int[] prices) { /* ... */ return 0; }
public static boolean isValidEmail(String value) { /* ... */ return true; }
public static void printNumber(int n) { System.out.println(n); }
// 悪い例(何をするか不明、規則に反する)
public static int c(int[] p){ return 0; } // 意味不明
public static boolean CHECK(String v){ return true; } // 大文字始まり
public static void doIt(int x){ /* ... */ } // 目的が分からない
}
7. 引数の基本(型・順序・オーバーロード・可変長引数)
引数は「型」「名前」「順序」でシグネチャが決まります。用途ごとにオーバーロードを用意すると呼び出しが直感的になります。要素数が不定なときは可変長引数(...)を使うと便利です。
public class ArgBasics {
// 1) 型と順序がシグネチャを決める
public static String formatPrice(int amount, String currency) { /* ... */ return ""; }
// public static String formatPrice(String currency, int amount) { } // ← 順序が違えば別メソッド
// 2) オーバーロード(引数の数や型が違う)
public static void printNumber(int n) { System.out.println(n); }
public static void printNumber(double n) { System.out.println(n); }
// 3) 可変長引数(0個以上を受け取る)
public static int sum(int... values) {
int total = 0;
for (int v : values) total += v;
return total;
}
public static void main(String[] args) {
printNumber(10); // int版
printNumber(3.14); // double版
System.out.println(sum()); // 0
System.out.println(sum(1,2,3,4,5)); // 15
}
}
8. 戻り値の基本(型選び・void・returnの使い方)
戻り値は処理結果の型に合わせて選びます。結果を返さないときはvoidを使い、処理を早めに終えるときはreturnで明示します。複数の値が必要なときは配列や小さなクラスでまとめて返すのが定石です。
public class ReturnBasics {
// 値を返す例(条件判定はbooleanが読みやすい)
public static boolean isEven(int n) {
return n % 2 == 0; // 早期returnでシンプルに
}
// 返さない処理(ログ出力などの副作用のみ)
public static void log(String message) {
if (message == null || message.isEmpty()) return; // 早期終了
System.out.println("[LOG] " + message);
}
// 複数値はオブジェクトで返す
public static DivisionResult divide(int a, int b) {
int q = a / b;
int r = a % b;
return new DivisionResult(q, r);
}
public static class DivisionResult {
public final int quotient;
public final int remainder;
public DivisionResult(int q, int r) { this.quotient = q; this.remainder = r; }
}
}
9. staticメソッドの基本(インスタンスメソッドとの違いと使い分け)
staticメソッドはクラスに属する処理で、状態に依存しない共通ロジック(ユーティリティ)に適しています。インスタンスの状態に依存する処理はインスタンスメソッドで実装します。
public class StaticVsInstance {
// 状態に依存しない共通処理(static)
public static int add(int a, int b) { return a + b; }
// 状態に依存する処理(インスタンス)
private int count = 0;
public void increment() { count++; }
public int current() { return count; }
public static void main(String[] args) {
// staticはクラス名から呼び出せる
System.out.println(StaticVsInstance.add(3, 7));
// インスタンスメソッドはオブジェクトから呼ぶ
StaticVsInstance c = new StaticVsInstance();
c.increment();
c.increment();
System.out.println(c.current()); // 2
}
}
基準は「その処理がオブジェクトの状態を使うかどうか」。使わなければstatic、使うならインスタンスにしましょう。
まとめ
本記事では、Javaのメソッドについて基本から応用までを解説しました。メソッドを活用することで、コードの再利用性が向上し、プログラム全体の構造が明確になります。特に、メソッド名の命名規則や引数の使い方、戻り値の取り扱い、staticメソッドの役割について具体例を挙げながら説明しました。これらの知識を身につければ、メソッドを使った効率的なコーディングが可能になります。
また、Javaではメソッドの引数や戻り値を通じてデータをやり取りできるため、柔軟なプログラム設計が可能です。戻り値のないvoidメソッドとreturnを使った戻り値のあるメソッドの違いを理解し、それぞれ適切な場面で活用しましょう。
public class MethodRecap {
public static void main(String[] args) {
greet();
int result = add(10, 20);
System.out.println("合計: " + result);
String message = generateMessage("メソッドを学習中");
System.out.println(message);
}
public static void greet() {
System.out.println("こんにちは!メソッドの復習です。");
}
public static int add(int a, int b) {
return a + b;
}
public static String generateMessage(String info) {
return "メッセージ: " + info;
}
}
上記のコードは、引数や戻り値を組み合わせたメソッドの例です。これを実行して、引数の受け渡しや戻り値の処理を体験してみてください。繰り返し練習することで、メソッドの使い方に慣れることができます。
生徒
「先生、メソッドを使うと同じ処理を何度も書かなくて済むので便利ですね!」
先生
「その通りです。特に、複雑なプログラムではメソッドを使い分けることで、コードが簡潔になり保守性が向上します。」
生徒
「引数や戻り値を使えば、メソッドがもっと便利に使えることがわかりました。」
先生
「そうですね。引数を使えばデータを渡せますし、戻り値を使えば処理結果を受け取ることができます。特にreturn文はよく使いますから覚えておきましょう。」
生徒
「次はどんなメソッドを作ってみればいいですか?」
先生
「簡単な計算をするメソッドや、文字列を操作するメソッドを作ってみるといいですね。それらを組み合わせれば、もっと実用的なプログラムが作れるようになりますよ。」
生徒
「わかりました!早速チャレンジしてみます!」
この記事を読んだ人からの質問
プログラミング初心者からのよくある疑問/質問を解決します
Javaでメソッドを使う利点は何ですか?
Javaでメソッドを使うと、コードの再利用性が向上し、同じ処理を何度も書く手間が省けます。また、コードが整理されて読みやすくなり、保守性も高まります。
引数と戻り値はどのように使えば良いですか?
引数はメソッドに外部からデータを渡すために使います。一方、戻り値はメソッドの処理結果を外部に返すために使用します。どちらもメソッドの柔軟性を高めるために欠かせません。
staticメソッドとは何ですか?
staticメソッドは、クラスのインスタンスを作成せずに直接呼び出せるメソッドです。単純な処理やユーティリティ関数に適しています。
メソッド名を付ける際のポイントは何ですか?
メソッド名は、その処理内容を明確に示す名前を付けることが重要です。例えば、「数値を表示するメソッド」ならprintNumber、合計を計算するならcalculateTotalなど、直感的に理解できる名前を心がけましょう。
戻り値のないvoidメソッドと戻り値のあるメソッドの違いは何ですか?
voidメソッドは戻り値がなく、処理の結果を返さないメソッドです。一方、戻り値のあるメソッドは、return文を使って処理結果を外部に返します。
複数の引数を持つメソッドを作る方法を教えてください。
複数の引数を持つメソッドは、カンマで区切って引数を指定します。例えば、2つの整数を受け取り、それらの合計を計算するメソッドはpublic static int add(int a, int b)のように定義します。
メソッドの中で条件分岐を使用する方法は?
メソッド内で条件分岐を使うには、if文やswitch文を使用します。これにより、引数の値に応じて異なる処理を実行することが可能です。
メソッドを呼び出すときに注意することは何ですか?
呼び出し元のメソッドと、呼び出されるメソッドの引数の型や数が一致しているか確認することが大切です。また、staticメソッドを呼び出す際には、クラス名を指定する必要があります。
mainメソッドから呼び出すメソッドにはどのようなルールがありますか?
mainメソッドから呼び出す場合、呼び出されるメソッドはstaticとして宣言されている必要があります。これにより、インスタンスを作成せずに直接呼び出すことが可能です。
Javaで戻り値を複数返す方法はありますか?
Javaでは基本的に1つの戻り値しか返せませんが、配列やクラスのオブジェクトを使うことで複数の値をまとめて返すことが可能です。
ChatGPTなどの生成AIをこれから学びたい方に向けて、AIスキルアカデミーの口コミ・評判、料金、無料セミナーの内容を詳しくまとめています。
AIスキルアカデミーの口コミ・評判を詳しく見る