关于两个值的交换还有一种方法,但是本人能力有限不能解释!我会在最下面给出代码,谁会的话可以解释一下原理!
public class Dome04{
public static void main(String[] agrs){
int a=3;//经典的a b值交换
int c;
int b=4;
System.out.println(" a = " + a + ",b = " + b);
c = a;
a = b;
b = c;
System.out.println(" a = " + a + ",b = " + b);
System.out.println("-------------------------------");
a = 3; //因为上面已经定义过了a和b,现在再定义运行时就会报错了!
b = 4;
System.out.println(" a = " + a + ",b = " + b);
a = a + b;
b = a - b; //简单的数学技巧
a = a - b;
System.out.println(" a = "+ a + ",b = " + b);}}
我只把交换的代码写一下吧,定义和上面的一样:
a = a^b;
b = a^b;
a = b^a;