我正在学习Java语言并试图这样做:
public class IntegerPlusOne {
public static int addOne(int n) {
n = n + 1;
return n;
}
public static void main(String[] args) {
int n = 0;
addOne(n);
System.out.println(n);
}
}
它应该是打印“1”,而是打印为零。无论我设置n等于什么,addOne函数都不会改变它,我认为函数已经破坏了,但是如果我自己测试它会返回一个比我发送给它的int更多的东西,这真的让我感到困惑。
答案 0 :(得分:0)
在java中,函数不能更改传递给它的参数的值,因为它们是按值传递的。
您可以尝试打印从addOne (n)
函数返回的值:
public class IntegerPlusOne {
public static int addOne(int n) {
return n + 1;
}
public static void main(String[] args) {
System.out.println(addOne(0));
}
}