在程序设计中,我们经常需要交换两个变量的值,程序清单 2-12 演示了两
个整型数据的交换。
程序清单 2-12 ExchangeNums.java1:public class ExchangeNums{
2: public static void main(String[] args){
3: int num1=5;
4: int num2=10;
5: System.out.println("num1="+num1+",num2="+num2);
6: int temp;
7: temp=num1;
8: num1=num2;
9: num2=temp;
10: System.out.println("num1="+num1+",num2="+num2);
11: }
12:}
程序运行结果如图 2-15 所示:
程序清单 2-12 中,第 3、4 行定义了变量 num1 和 num2,它们的值分别为 5 和 10。第 6 行
定义了一个中间变量 temp,用于在 num1 和 num2 交换数据时,保存其中某个变量的值。
就像我们想要将杯子 A 中的可乐和杯子 B 中的牛奶进行交换时,需要一个空杯子 C 来进行
中转,我们先将杯子 B 中的牛奶倒入空杯子 C,然后将杯子 A 中的可乐倒入已经为空的杯子
B 中,然后再将杯子 C 中的牛奶倒入杯子 A 中,完成交换过程。在程序中,我们使用中间变
量 temp 来保存 num1 的值,是因为当执行第 8 行语句 num1=num2 时,num2 的值会覆盖掉
num1 的值,也就是说当第 8 行代码执行完毕后,num1 和 num2 的值均为 10。图 2-16 演示
了整个交换过程: