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
  • 相关阅读:
    二、java 与 scala相互调用
    Gradle Tips#1-tasks
    Guice 学习(六)使用Provider注入服务( Provider Inject Service)
    C++第15周(春)项目3
    cocos2d-x3.2中怎样优化Cocos2d-X游戏的内存
    jqGrid源代码分析(一)
    OCP-1Z0-051-题目解析-第6题
    PHP连接sql server 2005环境配置
    【剑指offer】替换字符串中的空格
    android 推断Apk是否签名和 签名是否一致
  • 原文地址:https://www.cnblogs.com/Mus-Li/p/6936747.html
Copyright © 2011-2022 走看看