Java--交换两个变量的值的三种方法:借助中间量交换,数值相加减交换,位移运算交换

Java交换两个变量的值的有以下三种方法:

 

 

1.借助中间量交换(比较常用,容易想到,便于阅读)

 

int x = 10;

 

int y = 20;

 

int temp = x;

 

x = y;

 

y = temp;

 

此种方法可以将中间量看成空杯,即把temp看成是空杯,

 

把x看成是装有白酒的杯子,把y看成是装有红酒的杯子

 

int temp = x;  把白酒倒到空杯中,此时temp装有白酒,x变成空杯

 

x = y;             把y中的红酒倒到x空杯中,此时x装有红酒,y变成空杯

 

y = temp;      把白酒倒到y空杯中,此时x装有红酒,y装有白酒,实现x和y的互换

 

 

2.数值相加减交换(如果x和y的值非常大,会超出int范围)

 

int x = 10;


int y = 20;


x = x + y;


y = x - y;


x = x - y;

 

此种方法通过先求得两数的和再进行减运算

 

x = x + y;       此时x的值为10+20=30;

 

y = x - y;        此时的x经上面的运算变成30,所以y = 30 - 20 = 10;

 

x = x - y;        此时的y经上面的运算变成10,所以x = 30 - 10 = 20;实现两个数的互换

 

3.位移运算交换(不用担心超出int的范围)

 

int x = 10;


int y = 20;


x = x ^ y;


y = x ^ y;


x = x ^ y;

 

 

你可能感兴趣的:(借助中间量交换,数值相加减交换,交换两个变量的值的三种方法,位移运算交换)