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 型別的參數。

帶多個參數的方法範例

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

說明:參數以逗號分隔。在方法內像一般變數那樣使用它們;運算子 + 會進行加法。

重要!

  • 方法宣告在類別內,但不能在其他方法內
  • 在 Java 中不能在方法裡再宣告方法——沒有任何「俄羅斯套娃」。

2. 呼叫方法

宣告方法就像掛上一個牌子「我來煮咖啡」。要真的喝到咖啡,還需要呼叫方法——寫下它的名稱並傳入參數值。

如何呼叫方法

如果方法在同一個類別且被宣告為 static(就像 main),可以直接用名稱呼叫:

printHello();
printName("Alisa");
printSum(3, 5);

如果方法不是 static,就需要透過物件來呼叫(稍後學習類別與物件時會介紹)。

範例:從 main 呼叫方法


public class MethodsDemo
{
    public static void main(String[] args) 
    {
        printHello();
        printName("Bob");
        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("Katya"); // "Katya" — 引數
    greet("Vasya"); // "Vasya" — 引數
}

當你呼叫 greet("Katya") 時,方法內的變數 name 會等於 "Katya"

多個參數


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

public static void main(String[] args) 
{
    printInfo("Masha", 25);
    printInfo("Petya", 31);
}

注意! 參數的型別與順序必須與方法宣告時一致。

4. 實作:撰寫自己的方法

印出包含使用者姓名的問候語的方法


static void sayHelloTo(String name)
{
    System.out.println("你好," + name + "!");
}

public static void main(String[] args)
{
    sayHelloTo("Andrey");
    sayHelloTo("Elvira");
}

計算兩數總和的方法


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, "Masha")。

能否宣告兩個同名的方法?

可以,只要它們的參數列表不同(型別或數量不同)。這叫作方法多載

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

這個主題會在獨立的講座詳細介紹——現在只要知道 Java 不會限制一個名稱只能有一個方法即可。

7. 使用方法與參數時的常見錯誤

錯誤 № 1:呼叫時參數數量或型別不相符。
如果方法宣告為 printSum(int a, int b),而你卻這樣呼叫 printSum(5),編譯器會說不存在這樣的方法。同理,printSum("五", 7) — 型別錯誤。

錯誤 № 2:把參數和引數搞混。
在方法宣告中寫的是參數(例如 int a, int b),而在呼叫時傳入的是引數(printSum(5, 7)). 不需要在 main 中建立同名變數——重點是型別與順序要對。

錯誤 № 3:嘗試在方法內宣告方法。
在 Java 中方法只能宣告在類別層級,不能在另一個方法內宣告。

錯誤 № 4:從 staticmain 呼叫時沒有使用 static
如果你要從 main 呼叫方法,請在宣告時加上 static,或建立物件並透過它來呼叫。詳細內容會在學習 OOP 時再說明。

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION