zoukankan      html  css  js  c++  java
  • Java小案例——交换两个数值的三种方法

    要求:

      互换两个数的值


    方法一:借助第三方变量

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

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

    运行结果:

    a的值:10,    b的值:15
    对两个值执行互换操作...
    a的值:15,    b的值:10
  • 相关阅读:
    Mysql常用函数总结(二)
    mysql百万的数据快速创建索引
    php 中的sprintf 坑
    php5.5之后新特性整理
    mysql实践总结
    php下载远程图片到本地
    搜藏一个php文件上传类
    Attribute基本介绍
    Fiddler4抓包工具使用教程一
    HTTP传输数据压缩
  • 原文地址:https://www.cnblogs.com/Mus-Li/p/6936747.html
Copyright © 2011-2022 走看看