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
  • 相关阅读:
    SpringCloud源码解读
    深度剖析Dubbo源码
    十大经典排序算法
    详细介绍Spring 5的那些新特性与增强
    Spring4.x所有Maven依赖
    常见的接口与类 -- Comparable
    java序列化测试
    什么是Java序列化?为什么序列化?序列化有哪些方式?
    java堆、栈、堆栈的区别
    IntelliJ IDEA常用快捷键汇总
  • 原文地址:https://www.cnblogs.com/Mus-Li/p/6936747.html
Copyright © 2011-2022 走看看