package com.bjsxt.test;
//实现将两个数交换的三种方法
public class SwapTwoNum {
public static void main(String[] args) {
int a=22,b=33;
swap1(a, b);
swap2(a, b);
swap3(a, b);
}
//方法一创建中间变量
static void swap1(int a,int b) {
int temp;
temp=a;
a=b;
b=temp;
System.out.println("a="+a);
System.out.println("b="+b);
}
//不创建中间变量,利用求和
static void swap2(int a,int b) {
a=a+b;
b=a-b;
a=a-b;
System.out.println("a="+a);
System.out.println("b="+b);
}
//利用异或的特点和一个数异或开两次会得到他本身
static void swap3(int a,int b) {
a=a^b;
b=a^b;
a=a^b;
System.out.println("a="+a);
System.out.println("b="+b);
}
}
运行结果:
a=33
b=22
a=33
b=22
a=33
b=22