第一种:算术运算法 var a = 10; var b = 12; a = b - a; b = b - a; a = b + a; 它的原理是:把a.b看做数轴上的点,围绕两点间的距离来进行计算.具体过程:第一句"a=b-a"求出ab两点的距离,并且将其保存在a中:第二句"b=b-a"求出a到原点的距离(b到原点的距离与ab两点距离之差),并且将其保存在b中:第三句"a=b+a"求出b到原点的距离(a到原点距离与ab两点距离之和),并且将其保存…
以下方法的根本原理就是: 借助第三个变量 c = a; a = b; b = c; 运算符-不借助第三变量: a = a+b; b = a-b; a = a-b; 为运算符-不借助第三个变量: (此种方法运用这种原理:一个数对另一个数位异或两次,该数不变)a = a^b; b = a^b; a = a^b; /** * Swap * 互换两个变量的值的方法 * @author bc * @since 2018年3月27日 */ public class Swap { public static…
c#中实现两个int变量的数值互换,在借助第三个变量做临时载体的情况下,非常简单. ; ; int c ; c = a; a = b; b = c; 如果不借助第三方变量,有几种实现的方法: 1.异或算法(这种方法不借助第三个变量,也不会产生溢出,比较安全,但仅限整数类型) ; ; a ^= b; b ^= a; a ^= b; Console.WriteLine("{0} {1}", a, b); 2.直接赋值(有溢出的风险???(这里用Int32.MaxValue做测试,没有出现溢…
创建一个类,在该类中定义两个变量并为其指定初始值,然后交换两个变量的值,要求不允许借助第三个变量,只能使用异或运行实现两个变量值的交换. import java.util.Scanner; public class VariableExchange { public static void main(String[] args){ System.out.println("请输入变量A的值"); Scanner scanner=new Scanner(System.in); long A…