java一行代码交换变量 一行代码交换变量a与b的值

java交换两个变量的值 。。。^是异或操作符 。
比如:A=4,B=3 , 则
【java一行代码交换变量 一行代码交换变量a与b的值】对应的二进制A=100,B=011,
A^B=(100)^(011)=111,
即此时A=A^B=111,二进制;
然后,B^A=(011)^(111)=100二进制,转成十进制即为4,即此时B=B^A=4=原来的A,
最后一行A^B=(111)^(100)=011,二进制,转成十进制即为3 , 即此时A=A^B=3=原来的B,
这样就完成变量交换了 。
其实也可以这样完成两个变量交换,而不借用第三个变量:
A=A B;
B=A-B;
A=A-B;
//望采纳 。
如何在Java中实现交换两个变量值的方法public class Demo {
public static void main(String[] args) {
//调用这个静态方法传递两个int 型java一行代码交换变量的值就是java一行代码交换变量了 。
exchange(2, 6);
}
public static void exchange(int a, int b) {
int temp = 0;
temp = a;
a = b;
b = temp;
System.out.println("a="a);
System.out.println("b="b);
}
}
怎么在java上完成 , 实现两个int类型变量的交换,不使用中间变量方法有很多,这里举出两种常用的:
方法1:使用^操作来实现
int x = 10;
//用二进制表示:x=0b1010;
int y = 15;
//用二进制表示:x=0b1111;
System.out.println("x=" x " y=" y);
x = x^y;
//x^y= 0b1010^0b1111 = 0b0101
y = x^y;
//x^y= 0b0101^0b1111 = 0b1010 =10
x = x^y;
//x^y= 0b0101^0b1010 = 0b1111 =15
System.out.println("x=" x " y=" y);
方法2:使用,-操作来实现
int x = 10;
int y = 15;
System.out.println("x=" x " y=" y);
x = x y;
//x= 10 15=25
y = x-y;
//y= 25-15=10
x = x-y;
//x= 25-10=15
System.out.println("x=" x " y=" y);
结果:
x=10 y=15
x=15 y=10
早期为了减少中间变量对计算机内存的占用,采用中间的方法来交换数据 。其实这种交换并不完美 , 如果交换的两个数都很大 , 可能会内存溢出 。在现在的开发中建议使用中间值来交换数值 。
用JAVA写“对两个整数变量的值进行互换(不需要第三方变量)”程序JAVA对两个整数变量的值进行互换(不需要第三方变量)的程序如下:
方法一(加减法):
a = ab;
b = a - b;
a = a - b;
方法二(异或运算):
a = a ^ b;
b = a ^ b;
a = a ^ b;
代码实现如下:
public class Demo {
public static void main(String [] args){
int m=2,n=3;
//method_1(m, n);
method_2(m, n);
}
/**
* 使用异或^
*明白一个数,如果异或同一个数两次,那么就等于本身
*/
private static void method_3(int m, int n) {
m=m^n;
n=m^n;
m=m^n;
System.out.println("m=" m "\tn=" n);
}
/**
* 使用自身的数组,加减运算
*/
private static void method_2(int m, int n) {
m=m n;
n=m-n;
m=m-n;
System.out.println("m=" m "\tn=" n);
}
}
java一行代码交换变量的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于一行代码交换变量a与b的值、java一行代码交换变量的信息别忘了在本站进行查找喔 。

    推荐阅读