Java学习笔记——参数交换(无第三变量)

来源:互联网 发布:淘宝助理最新版 编辑:程序博客网 时间:2024/05/19 17:25
/** * @(#)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);    }}

1 0