交换两个数的值,不适用第三个变量

交换两个数的值,不适用第三个变量

一、源代码:SwapTwoNumber.java

 1 package cn.com.zfc.help;
 2 
 3 /**
 4  * 不适用中间变量交换两个数
 5  * 
 6  * @author zfc
 7  *
 8  */
 9 public class SwapTwoNumber {
10     public static void main(String[] args) {
11 
12         /* 1、第一种交换方式,位运算:^(异或) */
13         System.out.println("/* 1、第一种交换方式,位运算:^(异或) */");
14         int a = 10, b = 11;
15         System.out.println("交换前:a=" + a + ",b=" + b);
16         a = a ^ b;
17         b = a ^ b;
18         a = a ^ b;
19         System.out.println("交换后:a=" + a + ",b=" + b);
20 
21         /* 2、第二种交换方式,算数运算+-(加减法) */
22         System.out.println("/* 2、第二种交换方式,算数运算+-(加减法) */");
23         int c = 10, d = 11;
24         System.out.println("交换前:c=" + c + ",d=" + d);
25         c = c + d;
26         d = c - d;
27         c = c - d;
28         System.out.println("交换后:c=" + c + ",d=" + d);
29     }
30 }

二、运行效果

 

 

posted @ 2017-09-24 22:05  勇闯天涯zfc  阅读(268)  评论(0编辑  收藏  举报