zoukankan      html  css  js  c++  java
  • 两个数值型变量交换值的方法总结

    方式一:

    可读性强,适用于全部变量,但是会申请一个空闲的空间在大体量的程序中会造成空间大量的浪费。

    public class Test{
             public static void main(String[] args){
                         int a=1;
                         int b=2;
                         int c=a;
                         a=b;//a=2
                         b=c;//b=1
             }
    }

    方式二:

    不用申请另外的空间,有局限性:只适用于数值型变量、对于较大的两个数值的和可能会超过上下限。

    public class Test{
             public static void main(String[] args){
                         int a=1;
                         int b=2;
                         a=a+b;
                         b=a-b;//b=1
                         a=a-b;//a=2
             }
    }  

     

    方式三:

    不用申请另外的空间,可读性差,有局限性:只适用于数值型变量。

    public class Test{
             public static void main(String[] args){
                         int a=1;
                         int b=2;
                         a=a^b;//a先用来储存a和b异或运算的中间值
                         b=a^b;//b=1
                         a=a^b;//a=2
             }
    }  

    一个数连续和相同的两个数进行异或(^)运算,还是其本身。

  • 相关阅读:
    Echarts Jqplot嵌extjs4 windows 装配方法
    法学类人猿生存方案--升华成掌握可能的方式
    LeetCode Merge k Sorted Lists 解决报告
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/suanai/p/11294922.html
Copyright © 2011-2022 走看看