zoukankan      html  css  js  c++  java
  • 如何在不介入第三个变量的情况下实现两个数的交换


    如何在不介入第三个变量的情况下实现两个数的交换:
    1
    package myeclipseFiles2; 2 3 public class Operator { 4 5 public static void main(String[] args) { 6 // TODO Auto-generated method stub 7 int a=6; 8 int b=1; 9 System.out.println(a+":"+b); 10 11 //方法一:不借助第三个变量完成两个数的交换 12 a=a+b;//a=6+1 b=1 13 b=a-b;//a=6+1 b=6+1-1 14 a=a-b;//a=6+1-(6+1-1) b=6+1-1=6 15 System.out.println(a+":"+b); 16 17 } 18 19 }

    异或^ :操作数相同为0 不同为1

        本身与本身异或的结果为0

        任何数和0异或的结果是那个数本身

        异或^操作满足交换律

     1 package myeclipseFiles2;
     2 
     3 public class Operator {
     4 
     5     public static void main(String[] args) {
     6         // TODO Auto-generated method stub
     7         int a=6;
     8         int b=1;
     9         System.out.println(a+":"+b);
    10         
    11         //方法二:不借助第三个变量完成两个数的交换
    12         a=a^b;//a=1^6 b=1
    13         b=a^b;//a=1^6 b=1^6^1=6
    14         a=a^b;//a=1^6^6=1 b=6
    15         System.out.println(a+":"+b);
    16         
    17     }
    18 
    19 }
  • 相关阅读:
    高中数学常见角的范围及其表示
    立体几何习题
    常见的建系类型汇总
    双曲线
    分式不等式习题
    廓清集合中的几个问题
    二次函数
    随机变量的期望和方差
    不等式选讲习题
    JS中every()和some()的用法
  • 原文地址:https://www.cnblogs.com/ztt0918/p/7987023.html
Copyright © 2011-2022 走看看