? ? ? ?对于两个变量的交换,我发现以下四种方法
1.利用第三个变量交换数值(简单的方法)
(代码)
class TestWT //创建一个类
{
public static void main(String args[]);
{
int x = 1,y = 10; //定义两个变量
int team = x; //定义第三临时变量team并提取x值
x = y; //把y的值赋给x
y = team ; //把临时变量team的值赋给y
System.out.println("x="+x+"y="+y);
}
}
2.可以用两个数求和然后相减的方式进行数据交换,弊端是在于如果x 和 y 值过大的话,超出int的值会损失精度。
(代码) ?
class TestWT //创建一个类
{
public static void main(String args[]);
{
int x = 1,y = 10; //定义两个变量
x = x + y; //x(11) = 1 + 10
y = x - y; //y(11) = x(11) - 10
x = x - y ; //x(10) = x(11) - y(1)
System.out.println("x="+x+"y="+y);
}
}
3.利用位运算的方式进行数据交换,利用的思想原理是:一个数异或同一个数两次,结果还是那个数,并且不会超出int范围
(代码)
class TestWT //创建一个类
{
public static void main(String args[]);
{
int x = 1,y = 10; //定义两个变量
x = x^y;
y = x^y; //y = (x^y)^y
x = x^y; //x = (y^x)^x
System.out.println("x="+x+"y="+y);
}
}
4.这是最简单的,在打印输出的时候交换
(代码)
class TestWT //创建一个类
{
public static void main(String args[]);
{
int x = 1,y = 10; //定义两个变量
System.out.println("x="+y+"y="+x); //直接在输出的时候交换
}
}
|