就是这个简单的程序,我传递引用时会出错:import java.io.*;
class Test{
public static void main(String[] args)
{
int x = 3;
int y = 4;
changeXY(x,y);
}
public static void changeXY(int& x, int& y)
{
x = (x+y)/2;
y = x-y;
x = x-y;
y = (x-2*y)/2;
System.out.println(x);
System.out.println(y);
}
}错误为:需要<标识符>,这是为什么啊,难道java不能传递引用参数???
class Test{
public static void main(String[] args)
{
int x = 3;
int y = 4;
changeXY(x,y);
}
public static void changeXY(int& x, int& y)
{
x = (x+y)/2;
y = x-y;
x = x-y;
y = (x-2*y)/2;
System.out.println(x);
System.out.println(y);
}
}错误为:需要<标识符>,这是为什么啊,难道java不能传递引用参数???
int& x, int& y 是什么意思 当是c++?
java 参数直接用 int x ,int y 就可以了 调用 changeXY(x,y)直接传递参数
要想交换全局变量x,y的值,还是使用this吧,否则是瞎子点灯——白费蜡。
//java 一切皆引用,原来的程序x,y只有在作用域中有效,
//如果要返回值,可以返回一个数组对象,里边就包括x,y改变后的值
import java.io.*;public class TestQuote { public static void main(String[] args) {
int x = 3;
int y = 4;
int a[] = changeXY(x, y);
x = a[0];
y = a[1];
// System.out.println(x);
// System.out.println(y);
//
}
public static int[] changeXY(int x, int y) {
x = (x + y) / 2;
y = x - y;
x = x - y;
y = (x - 2 * y) / 2;
// System.out.println(x);
// System.out.println(y);
return new int[]{x,y};
}
}