在编写Java函数时,对输入参数行感到困惑


public class AbsoluteValue {
public static int absolute(int n) {
if ( n >= 0){
return n;
}else {
n = n * -1;
return n;
}
}
public static void main(String[] args) {
StdOut.println("Enter the integer that you want the absolute value for: ");
int number = StdIn.readInt();
StdOut.println("The absolute value of " + number + " is " + absolute(number));
}
}

你好,我只是在学习写作功能,我的老师没有很好地解释。这个程序的目标是取输入数字的绝对值;StdIn、StdOut";我有图书馆。

我的困惑来自于它到底是怎么工作的。所以在主函数中,我要求输入一个整数,它读取该整数并将其存储到变量"中;数字"然后,我的print语句调用absolute((函数并传递数字参数。我的困惑来自于这一切是如何翻译的,以及public static int absolute(int n)中的论点行是什么意思。为什么我需要通过";int n〃;在那里;n〃;变量,转换为我的";数字";变量

我的猜测是,当我调用absolute((时,我传递的任何参数都会移动到该方法的参数行中?

本部分

public static int absolute(int n) { … }

说我们有一个名为"absolute"的方法,它接受一个整数参数,并返回一个整数值。

在完成实际计算的"absolute"的正文中,整数参数由名称"n"引用。

所有这些只是一个程序的定义。它不仅仅是通过定义来执行的。

这个

absolute(number)

是对"absolute"的"call"-我们正在请求执行该方法。我们提供了一个值(来自"number"(,用作"absolute"已知为"n"的形式参数的值。

您可以将其视为在输入"absolute"之前为"n"分配了表达式"number"的值。

完成"absolute"之后,返回值将用于打印调用——这是以类似方式进行的另一个方法执行。

没错,用作方法absolute((参数的int值将是要在方法内部处理的值。

最新更新