CodeGym /コース /JAVA 25 SELF /メソッドの宣言と呼び出し、パラメーター

メソッドの宣言と呼び出し、パラメーター

JAVA 25 SELF
レベル 8 , レッスン 2
使用可能

1. メソッド宣言の構文

Java のメソッド宣言は料理本のレシピに似ています。メソッドが返すもの(型)、名前、必要な材料(パラメーター)、そして作り方(メソッド本体)を書きます。

一般形:


tip_vozvrashchaemogo_znacheniya imyaMetoda(parametry)
{
    // ここにコマンドを書く
}
メソッド宣言の一般形
  • 戻り値の型 — メソッドが何を返すか(例: intvoid — 何も返さない場合、String など)。
  • メソッド名 — あなたが付ける名前(Java の規則に従う)。
  • パラメーター — メソッドが使用する変数の一覧(空でも可)。
  • メソッド本体 — 波かっこ { } の中に書く処理。

パラメーターなしのメソッド例

void printHello() 
{
    System.out.println("こんにちは、世界!");
}

解説: void — メソッドは何も返しません。printHello — 名前。() — パラメーターなし。

パラメーターありのメソッド例

void printName(String name) 
{
    System.out.println("こんにちは、" + name + "!");
}

解説: void — 値を返しません。printName — メソッド名。String name — String 型のパラメーターが 1 つ。

複数パラメーターのメソッド例

void printSum(int a, int b) 
{
    System.out.println("合計: " + (a + b));
}

解説: パラメーターはカンマで区切ります。メソッド内では通常の変数として使えます。演算子 + は加算を行います。

重要!

  • メソッドはクラスの中で宣言し、他のメソッドの中では宣言しません
  • Java ではメソッドの中にメソッドを宣言することはできません—いわゆる「マトリョーシカ」はなしです。

2. メソッドの呼び出し

メソッドを宣言するのは、まるで「コーヒーを作ります」と札を掛けるようなものです。実際にコーヒーを出すには、メソッドを呼び出す—つまりその名前を書いてパラメーターの値を渡す—必要があります。

メソッドの呼び出し方

メソッドが同じクラスにあり、staticmain と同様)として宣言されているなら、単に名前で呼び出せます。

printHello();
printName("アリサ");
printSum(3, 5);

メソッドが static でない場合は、オブジェクト経由で呼び出します(これはクラスとオブジェクトを学ぶときに扱います)。

例: main からメソッドを呼び出す


public class MethodsDemo
{
    public static void main(String[] args) 
    {
        printHello();
        printName("ボブ");
        printSum(10, 20);
    }

    static void printHello() 
    {
        System.out.println("こんにちは、世界!");
    }

    static void printName(String name) 
    {
        System.out.println("こんにちは、" + name + "!");
    }

    static void printSum(int a, int b) 
    {
        System.out.println("合計: " + (a + b));
    }
}

注意: メソッドには static 修飾子が付いており、main(これも static)から呼び出せるようになっています。

3. パラメーターと引数とは?

パラメーター — メソッドを宣言するときに括弧内で宣言する変数。
引数 — メソッドを呼び出すときに実際に渡す値。

たとえ話: パラメーターは買い物リスト、引数は実際にカゴに入れる品物です。


      static void greet(String name)  // name — パラメーター
{
    System.out.println("こんにちは、" + name + "!");
}

public static void main(String[] args) 
{
    greet("カーチャ"); // "カーチャ" — 引数
    greet("ヴァーシャ"); // "ヴァーシャ" — 引数
}

greet("カーチャ") を呼び出すと、メソッド内で変数 name"カーチャ" になります。

複数のパラメーター


      static void printInfo(String name, int age)
{
    System.out.println("名前: " + name + "、年齢: " + age);
}

public static void main(String[] args) 
{
    printInfo("マーシャ", 25);
    printInfo("ペーチャ", 31);
}

注意! パラメーターの型と順序は、宣言どおりに一致していなければなりません。

4. 実践: 自分のメソッドを書いてみよう

ユーザー名付きの挨拶を出力するメソッド


static void sayHelloTo(String name)
{
    System.out.println("こんにちは、" + name + "!");
}

public static void main(String[] args)
{
    sayHelloTo("アンドレイ");
    sayHelloTo("エルヴィーラ");
}

2 つの数の合計を計算して表示するメソッド


static void printSum(int a, int b)
{
    int sum = a + b;
    System.out.println("合計: " + sum);
}

public static void main(String[] args) 
{
    printSum(7, 8);
    printSum(15, -5);
}

配列の要素を出力するメソッド


      static void printArray(int[] array)
{
    System.out.print("配列: ");
    for (int i = 0; i < array.length; i++) 
    {
        System.out.print(array[i] + " ");
    }
    System.out.println();
}

public static void main(String[] args) 
{
    int[] nums = {1, 2, 3, 4, 5};
    printArray(nums);
}

同じ文字列を n 回出力するメソッド


      static void repeatPrint(String text, int n)
{
    for (int i = 0; i < n; i++) 
    {
        System.out.println(text);
    }
}

public static void main(String[] args) 
{
    repeatPrint("Java はクールだ!", 3);
}

5. メソッドがアプリ構築にどう役立つか

簡単なコンソールゲームや電卓を書こうとする場合でも、各タスクをメソッドとして切り出すとコードが分かりやすくなります。

例: ミニ電卓


public class Calculator
{
    public static void main(String[] args) 
    {
        printGreeting();
        printSum(3, 7);
        printDifference(10, 4);
    }

    static void printGreeting() 
    {
        System.out.println("電卓へようこそ!");
    }

    static void printSum(int a, int b) 
    {
        System.out.println("合計: " + (a + b));
    }

    static void printDifference(int a, int b) 
    {
        System.out.println("差: " + (a - b));
    }
}

将来は新しいメソッド(乗算、除算、数値配列の処理など)を追加していけるので、アプリが長大な「一枚もの」のコードに崩れずに成長していきます。

6. 役に立つ注意点

メソッド名

  • メソッド名は通常、小文字で始まり、camelCase で書きます: printSumsayHelloTocalculateArea
  • 名前は動作を表すべきです。doStuffmethod1 は避けましょう。

パラメーターの順序

  • 呼び出し時には、パラメーターの順序と型を守りましょう。
  • メソッドが printInfo(String name, int age) を受け取る場合、printInfo(25, "マーシャ") のようには呼び出せません。

同じ名前のメソッドを2つ宣言できますか?

はい。パラメーターリスト(型や個数)が異なれば可能です。これをメソッドのオーバーロードと呼びます。

static void printSum(int a, int b) { /* ... */ }
static void printSum(int a, int b, int c) { /* ... */ }

このトピックは別の講義で扱います—今は、Java では名前が同じメソッドを 1 つに限らないことだけ覚えておけば十分です。

7. メソッドとパラメーターでよくあるミス

エラー1: 呼び出し時のパラメーターの数や型が一致しない。
メソッドが printSum(int a, int b) と宣言されているのに、printSum(5) と呼び出すと、そのようなメソッドは存在しないとコンパイラに言われます。同様に、printSum("五", 7) は型の不一致です。

エラー2: パラメーターと引数を混同する。
メソッド宣言ではパラメーター(例: int a, int b)、呼び出しでは引数(printSum(5, 7))を書きます。main に同じ名前の変数を作る必要はありません—重要なのは型と順序の一致です。

エラー3: メソッドの中にメソッドを宣言しようとする。
Java ではメソッドはクラスレベルでのみ宣言できます。別のメソッドの中では宣言できません。

エラー4: static を付けずに main から呼び出す。
main からメソッドを呼び出す場合は、宣言に static を付けるか、オブジェクトを生成してそのメソッドを呼び出しましょう。詳細はオブジェクト指向を学ぶ際に扱います。

1
タスク
JAVA 25 SELF, レベル 8, レッスン 2
ロック未解除
新規ユーザーへのパーソナルな挨拶 👋
新規ユーザーへのパーソナルな挨拶 👋
1
タスク
JAVA 25 SELF, レベル 8, レッスン 2
ロック未解除
購入合計の迅速な計算 💰
購入合計の迅速な計算 💰
1
タスク
JAVA 25 SELF, レベル 8, レッスン 2
ロック未解除
人事部の従業員カード作成 👩‍💻
人事部の従業員カード作成 👩‍💻
1
タスク
JAVA 25 SELF, レベル 8, レッスン 2
ロック未解除
異なる形状とサイズのオブジェクトの設計 📐
異なる形状とサイズのオブジェクトの設計 📐
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION