总共有4种方法,分别对应如下:
1.利用第三个变量交换数值,简单的方法。
1
class
TestEV
2
//创建一个类
3
{
4
public
static
void
main(String[]args)
5
{
6
int
x =5,y=10;
//定义两个变量
7
8
int
temp = x;
//定义第三临时变量temp并提取x值
9
x = y;
//把y的值赋给x
10
y = temp;
//然后把临时变量temp值赋给y
11
12
System.out.println("x="+x+"y="+y);
13
14
}
15
16
}
17
2.可以用两个数求和然后相减的方式进行数据交换,弊端在于如果 x 和 y 的数值过大的话,超出 int 的值会损失精度。
1
class
TestEV
2
//创建一个类
3
{
4
public
static
void
main(String[]args)
5
{
6
int
x =5,y=10;
//定义两个变量
7
8
x = x + y;
//x(15) = 5 + 10;
9
y = x - y;
//y(5) = x(15) - 10;
10
x = x - y;
//x(10) = x(15) - y(5)
11
System.out.println("x="+x+"y="+y);
12
13
}
14
15
}
3.利用位运算的方式进行数据的交换,
利用的思想原理是:一个数异或同一个数两次,结果还是那个数
,而且不会超出int范围
1
class
TestEV
2
//创建一个类
3
{
4
public
static
void
main(String[]args)
5
{
6
int
x =5,y=10;
//定义两个变量
7
8
x = x^y;
9
y = x^y;
//y=(x^y)^y
10
x = x^y;
//x=(x^y)^x
11
System.out.println("x="+x+"y="+y);
12
13
}
14
15
}
4.最为简单的,在打印输出的时候直接交换变量
1
class
TestEV
2
//创建一个类
3
{
4
public
static
void
main(String[]args)
5
{
6
int
x =5,y=10;
//定义两个变量
7
8
System.out.println("x="+y+"y="+x);
//直接在输出的时候交换
9
10
}
11
12
}