1. 概述

很多程序员在使用“参数(parameter)”和“实参(argument)”这两个术语时,常常混用。但实际上它们代表的是不同的概念。本文将通过代码示例,清晰地解释 Java 中参数和实参的区别。

2. 参数和实参

我们先通过一个伪代码示例来理解这两个术语的定义。下面是一个简单的加法函数:

algorithm Sum(a, b):
    // INPUT
    //   a, b = Numbers to be added
    // OUTPUT
    //   Returns the sum of a and b

    Sum <- a + b
    return Sum

algorithm Main():
    // OUTPUT
    //   Prints the result of Sum

    a <- 5
    b <- 10
    result <- Sum(a, b)
    print result

2.1. 参数(Parameters)

参数是函数定义中声明的变量,用于接收调用时传入的值。参数的作用范围仅限于函数内部,因此也可以称为“局部变量”。

Sum(a, b) 函数为例,括号中的 ab 就是参数。它们是函数定义时指定的变量名,用于在函数体内使用。

例如:

public int sum(int a, int b) {
    return a + b;
}

这里的 ab 就是参数。它们在函数定义中被声明,但此时还没有具体的值。

2.2. 实参(Arguments)

实参是在调用函数时传入的具体值。这些值会被赋给函数定义中的参数变量,从而在函数中使用。

继续上面的例子:

int result = sum(5, 10);

这里的 510 就是实参。它们是调用函数时传入的具体数据,会被分别赋值给函数中的 ab

⚠️ 踩坑提醒:很多新手容易混淆参数和实参,记住一句话:定义函数时用的是参数,调用函数时传的是实参

3. 参数和实参的区别总结

项目 参数(Parameter) 实参(Argument)
定义 函数定义中声明的变量 函数调用时传入的具体值
作用 接收外部传入的数据 为参数提供实际值
生命周期 仅在函数内部有效 在调用时存在,调用后释放
又称 形式参数(Formal Parameter) 实际参数(Actual Parameter)
示例 int sum(int a, int b) 中的 a, b sum(5, 10) 中的 5, 10

4. 小结

在 Java 编程中,参数是函数定义时的变量名,而实参是函数调用时传入的具体值。理解这两个概念有助于写出更清晰、更规范的代码,也能避免在调试时出现混淆。

✅ 总结一句话:参数是“占位符”,实参是“真实值”



原始标题:The Difference Between an Argument and a Parameter