0%

面试题-交换两个变量的值

刚去杭州面试的第二家公司,做笔试的时候的时候遇到的。最近几天在整理以前的笔记发现了。简单记录下。

互换两个变量的值

1
2
3
int a=10;
int b=12;
// 通过两个变量之间的运算输出结果 a = 12 b = 10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@Test
public void swapTest1(){
int a=10;
int b=12;
a=a^b; //a=1010^b=1100;
b=a^b; //a=0110^b=1100;
a=a^b; //a=0110^b=1010;
//a=1100=12;b=1010;
System.out.println(a);
System.out.println(b);
}

@Test
public void swapTest2(){
int a = 10;
int b = 12;
a = a + b; // 22 = 10 + 12
b = a - b; // 10 = 22 - 12
a = a - b; // 12 = 22 - 10
System.out.println(a);
System.out.println(b);
}