在java中如何交换两个变量的值c/c++:
void swap(int *a,int *b){
int t = *a;
*a = *b;
*b = t;
}
void swap(int &a,int &b){
int t = a;
a = b;
b = t;
}在java中怎么实现?
void swap(int *a,int *b){
int t = *a;
*a = *b;
*b = t;
}
void swap(int &a,int &b){
int t = a;
a = b;
b = t;
}在java中怎么实现?
public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 5;
int j = 6;
Test t = new Test();
t.ch(i, j);
System.out.println("i = " + i + " j = " + j); }
public void ch(int a, int b){
System.out.println("a = " + a + " b = " + b);
int c = a;
a = b;
b = c;
System.out.println("a = " + a + " b = " + b);
}}自己看吧,改变的只是a和b,但是原始的i和j并没有变化
我知道java中没有引用传递,我只是觉得要是想实现swap,有没有类似的方法而已。
所以我认为java里一切都是值传递。
c里:
void f(int *p){}
int i = 1,*p = &a;
f(p)这里你说传的是什么?