要求:
互换两个数的值
方法一:借助第三方变量
/** * 借助第三方变量对两个值进行互换 * @author Administration * */ public class ExchangeValue { public static void main(String[] args) { int a = 10; int b = 15; System.out.println("a的值:"+a+", b的值:"+b); System.out.println("对两个值执行互换操作..."); int temp = a; a=b; b=temp; System.out.println("a的值:"+a+", b的值:"+b); } }
运行结果:
a的值:10, b的值:15
对两个值执行互换操作...
a的值:15, b的值:10
方法二:不需要借助第三方变量(加减运算)
/** * 不需要借助第三方变量对两个值进行互换 * @author Administration * */ public class ExchangeValue { public static void main(String[] args) { int a = 10; int b = 15; System.out.println("a的值:"+a+", b的值:"+b); System.out.println("对两个值执行互换操作..."); a=a+b; b=a-b; a=a-b; System.out.println("a的值:"+a+", b的值:"+b); } }
运行结果:
a的值:10, b的值:15
对两个值执行互换操作...
a的值:15, b的值:10
方法三:不需要借助第三方变量(异或运算)
/** * 不需要借助第三方变量对两个值进行互换 * @author Administration * */ public class ExchangeValue { public static void main(String[] args) { int a = 10; int b = 15; System.out.println("a的值:"+a+", b的值:"+b); System.out.println("对两个值执行互换操作..."); a=a^b; b=a^b; a=a^b; System.out.println("a的值:"+a+", b的值:"+b); } }
原理:某个数值a与一个数值b进行异或运算得到c,则再用c与b运算可以还原a。因此这个原理可以实现两个数值的交换。
运行结果:
a的值:10, b的值:15
对两个值执行互换操作...
a的值:15, b的值:10