用Java实现两个数互换

这两种方式实现m和n的互换都可以吗?

public class ValueTransferTest2 {

public static void main(String[] args) {

Data data = new Data();
    
data.m = 10;
data.n = 20;
    
System.out.println("m = " + data.m + ", n = " + data.n);
    
//交换m和n的值
    
ValueTransferTest2 test = new ValueTransferTest2();
test.swap(data);
    
    
System.out.println("m = " + data.m + ", n = " + data.n);
    
}

public void swap(Data data){
    int temp = data.m;
    data.m = data.n;
    data.n = temp;
}

}

class Data{

int m;
int n;

}

方式二:

public class ValueTransferTest2 {

public static void main(String[] args) {
    
Data data = new Data();
    
data.m = 10;
data.n = 20;
    
System.out.println("m = " + data.m + ", n = " + data.n);
    
data.swap(data);
    
    
   System.out.println("m = " + data.m + ", n = " + data.n);
    
}

}

class Data{

int m;
int n;

public void swap(Data data){
    int temp = data.m;
    data.m = data.n;
    data.n = temp;
}

}

这没区别啊,只是调用不同类中的swap方法而已。

你不妨上机调试一下

效果上是一样的,都能实现互换。