为什么不必在这个java代码中声明number1和number2?

时间:2013-09-25 04:49:44

标签: java

此代码是类中的一个小实验室,并且在方法int中看到add()number1和2未被声明。有人可以告诉我为什么会这样吗?

public class htc {

public static void main(String[] args) {
    int n1 = 4;
    int n2 = 5;
    int n3 = add(n1, n2);
    int result = add(n2, add(add(9, add(2, n3)), 3));
    System.out.println(result);
}

public static int add(int number1, int number2) {
    int sum = number1 + number2;
    return sum;
}
}

2 个答案:

答案 0 :(得分:1)

number1number2都是参数。写入时声明参数:

(int number1, int number2)

这意味着无论何时调用该函数,您都会自动将值作为参数传递给这两个变量。

例如,当您编写:add(n1, n2)时,您告诉它运行该功能,并将n1替换为number1,将n2替换为number2。

答案 1 :(得分:1)

public static int add(int number1, int number2)

这段代码意味着你要声明number1和number2,因为你前面有'int',尽管它们还没有任何值。 但是当你从main()调用函数add并且从main()开始编译时调用这个add函数,所以当你从main()调用那个函数时,add函数的参数会用n2的值和add(add(add)初始化9,添加(2,n3)),3))所以number1和number2现在有一个定义的值。所以代码执行没有任何错误。希望你现在明白。