/*
面试题:
实现两个整数变量的交换的方法
*/
class OperatorTest{
public static void main(String[] args){
int a=10;
int b=20;
/*
//方式一:使用第三方变量
int c=a;
a=b;
b=c;
System.out.println("a="+a+",b="+b);
//方式二:使用异或实现(面试用)
a=a^b;
b=a^b; //a^b^b=a
a=a^b; //a^b^a=b
System.out.println("a="+a+",b="+b);
*/
//方式三:使用变量相加的做法
a=a+b; //a=30
b=a-b; //b=10
a=a-b; //a=20
System.out.println("a="+a+",b="+b);
//方式四:一句话搞定
b=(a+b) - (a=b);//b=30-20=20;a=10;
}
}
面试题:
实现两个整数变量的交换的方法
*/
class OperatorTest{
public static void main(String[] args){
int a=10;
int b=20;
/*
//方式一:使用第三方变量
int c=a;
a=b;
b=c;
System.out.println("a="+a+",b="+b);
//方式二:使用异或实现(面试用)
a=a^b;
b=a^b; //a^b^b=a
a=a^b; //a^b^a=b
System.out.println("a="+a+",b="+b);
*/
//方式三:使用变量相加的做法
a=a+b; //a=30
b=a-b; //b=10
a=a-b; //a=20
System.out.println("a="+a+",b="+b);
//方式四:一句话搞定
b=(a+b) - (a=b);//b=30-20=20;a=10;
}
}