1.利用异或运行的方法
在上面已经对数据进行定义的前提下,可以通过代码
1
2
3
4
|
A = A ^ B;
// 执行变量互换
B = B ^ A;
A = A ^ B;
System.out.println(
"A="
+ A +
"\tB="
+ B);
|
用异或来实现A,B两数值的交换;
从输入数值到交换数值,详细代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
package
com.lixiyu;
import
java.util.Scanner;
public
class
VariableExchange {
public
static
void
main(String[] args){
Scanner A=
new
Scanner(System.in);
System.out.println(
"请输入变量A的值:"
);
Long line=A.nextLong();
Scanner B=
new
Scanner(System.in);
System.out.println(
"请输入变量B的值:"
);
Long line1=B.nextLong();
System.out.println(
"A="
+line);
System.out.println(
"B="
+line1);
System.out.println(
"执行数值转换"
);
line=line^line1;
line1=line1^line;
line=line^line1;
System.out.println(
"A="
+line+
"\tB="
+line1);
}
}
|
注意这种方法适合数值型,用Long line=A.nextLong()而不是String
2.通过定义一个第三方变量进行交换的方法
利用赋值的方法原理实现
比如要实现A、B互换:定义一个变量C,C=A;A=B;B=C;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package
com.lixiyu;
import
java.util.Scanner;
public
class
VariableExchange {
public
static
void
main(String[] args){
String line2;
Scanner A=
new
Scanner(System.in);
System.out.println(
"请输入变量A的值:"
);
String line=A.nextLine();
Scanner B=
new
Scanner(System.in);
System.out.println(
"请输入变量B的值:"
);
String line1=B.nextLine();
System.out.println(
"A="
+line);
System.out.println(
"B="
+line1);
System.out.println(
"执行转换"
);
line2=line;
line=line1;
line1=line2;
System.out.println(
"A="
+line+
"\tB="
+line1);
}
}
|
编译运行成功(这种方法不仅适合Long型也适合其他型,如String等)
还有其它方法以后碰到再补充
本文转自lixiyu 51CTO博客,原文链接:http://blog.51cto.com/lixiyu/1302809,如需转载请自行联系原作者