您现在的位置: 启天网 >> 技术中心 >> Java >> 正文
今天是:
两个变量交换的三种方法           ★★★★ 【字体:
两个变量交换的三种方法
作者:oyl822    文章来源:网络    点击数:    更新时间:2008-10-7

在我们写程序的时候,经常会遇到两个变量A与B交换的操作,通常大家会借助第三个变量来实现: 

如:C=A;A=B;B=C;

这种方法需要借助第三变量来实现;

第二种方法是利用加减法实现两个变量的交换,

如:A=A+B;B=A-B;A=A-B;

第三种方法是得用位异或运算来实现,也是效率最高的一种,在大量数据交换的时候,效率明显优于前两种方法,

如:A=A^B;B=A^B;A=A^B;

原理:利用一个数异或本身等于0和异或运算符合交换率。

希望对大家有帮助!

public class Test{
   public static void main(String args[]){
     int A=2;
     int B=3;
     int C;
    System.out.println("A="+A);
    System.out.println("B="+B);
   System.out.println("method 1");
   C=A;
   A=B;
   B=C;
   System.out.println("A="+A);
   System.out.println("B="+B);
   System.out.println("method 2");
   A=A+B;B=A-B;A=A-B;
   System.out.println("A="+A);
   System.out.println("B="+B);
   System.out.println("method 3");
   A=A^B;B=A^B;A=A^B;
   System.out.println("A="+A);
   System.out.println("B="+B);
 }
}

附件下载

文章录入:junsan    责任编辑:junsan05 
  • 上一篇文章:
  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    在java应用程序中加入发送邮件的功能
    使用反射简化对象成员的设值取值
    JAVA死锁之迷
    Java中不要裸写代码
    Java多线程杂谈
    网站登录记忆跳转jsp实现的一种方法
    策略模式及实现
    IIS+tomcat整合,并且通过域名访问网站
    Java实现按字节长度截取字符串
    Java多线程技术中所有方法的详细解析
     网友评论:(最新10条。只代表网友观点,与本站立场无关!)