首页 > 编程语言 > 详细

JAVA_学习第二天(五)[ 位异或运算符的特点]

时间:2016-10-19 01:40:48      阅读:115      评论:0      收藏:0      [点我收藏+]
  • "^" 位逻辑运算符

    class ysf {
       public static void main(String[] args) {
          System.out.println(5 ^ 10 ^ 10); 
          System.out.println(5 ^ 10 ^ 5);  
      // "^" 的特点:一个数据对另一个数据位异或两次,该数本身不变
       }
    }

  • 需要定义第三方变量


    class ysf {
       public static void main(String[] args) {
          int x = 10;
          int y = 5;
          int temp;
          temp = x;
          x = y;
          y = temp;
          System.out.println("x = " + x + " , y = " + y ); 
        //定义第三方变量,变量互换
       }
    }

 

  • 不需要第三方变量


    class ysf {
       public static void main(String[] args) {
          int x = 10;
          int y = 5;
          x = x + y;  //10 + 5 = 15
          y = x - y;   //15 - 5 = 10
          x = x - y;   //15 - 10 = 5
          System.out.println("x = " + x + " , y = " + y ); 
      //不需要定义第三方变量,有弊端,有可能会超出int的取值范围
       }
    }

  • 不需要定义第三方变量,通过 ^ 来做

 


    class ysf {
       public static void main(String[] args) {
          int x = 10;  
          int y = 5;  
          x = x ^ y;    //10 ^ 5
          y = x ^ y;    //10 ^ 5    y = 10
          x = x ^ y;    //10 ^ 5 ^ 10   x=5
          System.out.println("x = " + x + " , y = " + y ); 
      // 左边 x y x 右边都是 x ^ y
       }
    }

 

JAVA_学习第二天(五)[ 位异或运算符的特点]

原文:http://www.cnblogs.com/dlbm/p/5975580.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!