java中一道关于方法的题

来源:百度知道 编辑:UC知道 时间:2024/05/23 00:18:53
public class dsccccc {

void fuzhi(int y, int x) {
x = 555;
y = 666;
System.out.println(x + "," + y);
}

public static void main(String[] args) {
dsccccc t = new dsccccc();
int a = 8;
int b = 9;
t.fuzhi(a, b);

}
}
t.fuzhi(a, b);这里给的参数是a、b为什么打印出来的结果还是555,666呢?
大虾帮我解释一下

...你这个程序打印出的是方法内的参数,这和你传递进去的是什么没有关系,无论你传递的是什么,它都打印方法中被重新赋值后的值。

你那边把传过去的参数又赋值了,所以打印时赋值后的

void fuzhi(int y, int x) {
x = 555;
y = 666;
System.out.println(x + "," + y);
}
他的意思是 把 555付给x ,把666付给y 你传进来的值也没起作用

因为你把他覆盖了啊,如果你想要得到你想要的答案,哪么你就把x = 555;y = 666 删掉。

public class dsccccc {

void fuzhi(int y, int x) {
System.out.println(x + "," + y);
x = 555;
y = 666;
System.out.println(x + "," + y);
}

public static void main(String[] args) {
dsccccc t = new dsccccc();
int a = 8;
int b = 9;
t.fuzhi(a, b);

}
}

输出是
8,9
555,666

你这是什么意思 既然赋值 为什么要在写上x=555,y=666 根本就不需要啊 楼上说的很对 希望对你有帮助