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
  • 相关阅读:
    E
    D
    Npp ChangeLog
    c++ 书籍(zz)
    再好的工作是为了更好的生活
    如何将JPG格式的图片转换成PNG格式
    点分治
    团体程序设计天梯赛(CCCC) L3021 神坛 的一些错误做法(目前网上的方法没一个是对的) 和 一些想法
    团体程序设计天梯赛(CCCC) L3019 代码排版 方法与编译原理密切相关,只有一个测试点段错误
    团体程序设计天梯赛(CCCC) L3015 球队“食物链” 状态压缩
  • 原文地址:https://www.cnblogs.com/Mus-Li/p/6936747.html
Copyright © 2011-2022 走看看