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