java 中swap函数来交换数据

本文通过两个示例对比展示了Java中参数传递的特点,强调了Java使用值传递而非引用传递,并通过具体的代码示例说明如何正确实现两个变量的交换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java 中的参数传递都是采用的值传递方式,所以在用swap的时候,可以采用外部内联的方式:
public class Swap2 {
public static void main(String args[]){
Swap2 sw = new Swap2(1,2);
System.out.println("i is" + sw.i);
System.out.println("j is" + sw.j);
sw.swap();
System.out.println("i is" + sw.i);
System.out.println("j is" + sw.j);
}
int i,j;
public Swap2(int i, int j){
this.i = i;
this.j = j;
}

public void swap(){
int temp;
temp = i;
i = j;
j = temp;

}
}
实质就是在进行交换的时候,swap方法不能带有参数,如果带有参数的话,实际并没有发生交换:


public class Swap1 {
public static void Swap1(Integer a, Integer b){
Integer temp = a;
a = b;
b = temp;

}
public static void main(String args[]){

Integer a,b;
a = new Integer(10);
b = new Integer(20);
Swap1.Swap1(a, b);
System.out.println("a is " + a);
System.out.println("b is " + b);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值