交换2个数值,不使用第三个变量

来源:互联网 发布:dnn caffe googlenet 编辑:程序博客网 时间:2024/04/29 04:47
package com.yihuo;public class Jhuan {//交换这两数值的值//如: value1=12;    value2=20     ->      value1=20;    value2=12  public static void main(String[] args) {int value1=12,value2=20;/*//使用第三个数据,也是经常想到的  十几开发过程应该是使用这个方式int temp;//定义一个临时的变量用于存放temp=value1;value1=value2;value2=temp;*////////////////////////////////////////////////////这个方法貌似不常用,不够直观  不够看到了就记下吧!说不定以后就会被问到//不实用第三个变量/*System.out.println("交换之前:value1="+value1+"value2="+value2);value1=value1+value2;//存在损失精度的可能性    超出表达范围value2=value1-value2;value1=value1-value2;System.out.println("交换之后:value1="+value1+"value2="+value2);*///////////////////////////////////////////////////我去,这种方法更帅了 !!这个是在黑马程序里面看到的!//原理 :  a^b^b  ->  a^(b^b)->  a^0  -> aSystem.out.println("交换之前:value1="+value1+"value2="+value2);value1=value1^value2;value2=value1^value2;//(value1^value2)^value2->value1value1=value1^value2;//(value1^value2)^value1->  value2^value1^value1->value2System.out.println("交换之后:value1="+value1+"value2="+value2);}}

原创粉丝点击