需求:已知两个整数变量a=10,b=20,使用程序实现这两个变量的数据交换最终输出a=20,b=10;
第一种方法:
1、定义一个三方变量temp,将a原本记录的值,交给temp记录(a的值,不会丢了)
2、使用a变量记录b的值,(第一步交换完毕,b的值也丢不了了)
3、使用b变量记录temp的值,也就是a原本的值(交换完毕)
4、输出a和b变量即可
public static void main(String[] args) {
int a = 10;
int b = 20;
int temp = a;
a = b;
b = temp;
System.out.println("a的值为:" + a);
System.out.println("b的值为:" + b);
}
第二种方法:不允许使用第三方变量,该怎么做?
可使用异或符号,一个数被另一个数异或两次,该数保持不变
public static void main(String[] args) {
int a = 10;
int b = 20;
a = a ^ b;//a=10^20
b = a ^ b;//b=10^20^20
a = a ^ b;//a=10^20^10
System.out.println("a的值为:" + a);
System.out.println("b的值为:" + b);
}