CodeGym /课程 /JAVA 25 SELF /方法的声明与调用、参数

方法的声明与调用、参数

JAVA 25 SELF
第 8 级, 课程 2
可用

1. 方法声明的语法

在 Java 中声明方法就像烹饪书里的菜谱:你要指出方法返回什么(类型)、它叫什么、需要哪些“配料”(参数),以及写出具体步骤(方法体)。

通用形式:


returnType methodName(parameters)
{
    // 在这里编写语句
}
方法声明的一般形式
  • 返回值类型——方法返回的内容(例如,int,void——如果不返回任何值,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("艾丽莎");
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("埃尔维拉");
}

计算两个数之和的方法


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:printSum、sayHelloTo、calculateArea。
  • 名字要能体现动作。避免使用 doStuff 和 method1 之类的名称。

参数顺序

  • 调用时请遵守参数的顺序与类型。
  • 如果方法是 printInfo(String name, int age),就不能调用 printInfo(25, "玛莎")。

能否声明两个同名方法?

可以,如果它们的参数列表不同(类型或数量不同)。这称为方法重载:

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:从 main 调用时没有使用 static。
如果你要从 main 调用某个方法,要么在方法声明中加上 static,要么先创建对象再通过对象调用该方法。细节——稍后在学习 OOP 时说明。

1
任务
JAVA 25 SELF, 第 8 级, 课程 2
已锁定
为新用户的个人问候 👋
为新用户的个人问候 👋
1
任务
JAVA 25 SELF, 第 8 级, 课程 2
已锁定
快速计算购物费用 💰
快速计算购物费用 💰
1
任务
JAVA 25 SELF, 第 8 级, 课程 2
已锁定
为人力资源部创建员工卡片 👩‍💻
为人力资源部创建员工卡片 👩‍💻
1
任务
JAVA 25 SELF, 第 8 级, 课程 2
已锁定
设计不同形状和尺寸的对象 📐
设计不同形状和尺寸的对象 📐
评论 (2)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Lucas深呼吸 级别 15,Beijing,China
22 七月 2026
第一题要自己创建类从头开始编程,是我的网页问题吗还是就这么设计的?
悠 级别 1,-,Hong Kong
23 七月 2026
网页问题