/**
* @(#)ChangeVar.java
*不引入第三变量交换两个参数值得5种方法
* @parm
* @author yehaicao
* @version 1.00 2016/1/25
*/
public class ChangeVar{
public void method1(int a,int b){
System.out.println ("方法一:");
System.out.println ("a和b的值为:"+a+" "+b);
b = a + b - (a=b);//或者 a=a+b-(b=a);
System.out.println ("交换后a和b的值为:"+a+" "+b);
}
public void method2(int a,int b){
System.out.println ("方法二:");
System.out.println ("a和b的值为:"+a+" "+b);
a=a*b;
b=a/b;
a=a/b;
System.out.println ("交换后a和b的值为:"+a+" "+b);
}
public void method3(int a,int b){
System.out.println ("方法三:");
System.out.println ("a和b的值为:"+a+" "+b);
a = b + (b=a)*0;
System.out.println ("交换后a和b的值为:"+a+" "+b);
}
public void method4(int a,int b){
System.out.println ("方法四:");
System.out.println ("a和b的值为:"+a+" "+b);
a= a+b;
b= a-b;
a= a-b;
System.out.println ("交换后a和b的值为:"+a+" "+b);
}
public void method5(int a,int b){
System.out.println ("方法五:");
System.out.println ("a和b的值为:"+a+" "+b);
a= a^b; // a1=a^b
b= a^b; // b=a1^b
a= a^b; // a=a1^b=a1^(a1^b)=a1^a1^b=b
//同一变量与另一变量和其异或值异或等于自身。
System.out.println ("交换后a和b的值为:"+a+" "+b);
}
public static void main(String[] args) {
ChangeVar changeNum = new ChangeVar();
changeNum.method1(11,22);
changeNum.method2(33,44);
changeNum.method3(55,66);
changeNum.method4(88,99);
changeNum.method5(00,55);
}
}Java学习笔记——参数交换(无第三变量)
最新推荐文章于 2025-07-16 18:31:48 发布
本文介绍了五种在不使用额外变量的情况下交换两个整数变量的方法。这些方法利用了算术运算、位操作等手段实现了变量值的交换,适用于各种编程场景。
397

被折叠的 条评论
为什么被折叠?



