Java小案例——交换两个数值的三种方法

来源:互联网 发布:java 比较文本相似度 编辑:程序博客网 时间:2024/05/17 08:31

要求:

  互换两个数的值


方法一:借助第三方变量

/** * 借助第三方变量对两个值进行互换 * @author Administration * */public class ExchangeValue {    public static void main(String[] args) {        int a = 10;        int b = 15;        System.out.println("a的值:"+a+",\tb的值:"+b);        System.out.println("对两个值执行互换操作...");        int temp = a;        a=b;        b=temp;        System.out.println("a的值:"+a+",\tb的值:"+b);    }}

运行结果:

a的值:10,    b的值:15对两个值执行互换操作...a的值:15,    b的值:10

方法二:不需要借助第三方变量(加减运算)

/** * 不需要借助第三方变量对两个值进行互换 * @author Administration * */public class ExchangeValue {    public static void main(String[] args) {        int a = 10;        int b = 15;        System.out.println("a的值:"+a+",\tb的值:"+b);        System.out.println("对两个值执行互换操作...");        a=a+b;          b=a-b;        a=a-b;        System.out.println("a的值:"+a+",\tb的值:"+b);    }}

运行结果:

a的值:10,    b的值:15对两个值执行互换操作...a的值:15,    b的值:10

方法三:不需要借助第三方变量(异或运算)

/** * 不需要借助第三方变量对两个值进行互换 * @author Administration * */public class ExchangeValue {    public static void main(String[] args) {        int a = 10;        int b = 15;        System.out.println("a的值:"+a+",\tb的值:"+b);        System.out.println("对两个值执行互换操作...");        a=a^b;        b=a^b;        a=a^b;        System.out.println("a的值:"+a+",\tb的值:"+b);    }}

原理:某个数值a与一个数值b进行异或运算得到c,则再用c与b运算可以还原a。因此这个原理可以实现两个数值的交换。

运行结果:

a的值:10,    b的值:15对两个值执行互换操作...a的值:15,    b的值:10

阅读全文
0 0