例子1:使用临时变量交换两个数字public class SwapNumbers {
public static void main(String[] args) {
float first = 1.20f, second = 2.45f;
System.out.println("--Before swap--");
System.out.println("First number =" + first);
System.out.println("Second number =" + second);
// Value of first is assigned to temporary
float temporary = first;
// Value of second is assigned to first
first = second;
// Value of temporary (which contains the initial value of first) is assigned to second
second = temporary;
System.out.println("--After swap--");
System.out.println("First number =" + first);
System.out.println("Second number =" + second);
}
}
运行程序时,输出为:--Before swap--
First number = 1.2
Second number = 2.45
--After swap--
First number = 2.45
Second number = 1.2
例子2:不使用临时变量交换两个数字public class SwapNumbers {
public static void main(String[] args) {
float first = 12.0f, second = 24.5f;
System.out.println("--Before swap--");
System.out.println("First number =" + first);
System.out.println("Second number =" + second);
first = first - second;
second = first + second;
first = second - first;
System.out.println("--After swap--");
System.out.println("First number =" + first);
System.out.println("Second number =" + second);
}
}
运行程序时,输出为:--Before swap--
First number = 12.0
Second number = 24.5
--After swap--
First number = 24.5
Second number = 12.0
在上面的程序中,我们使用简单的数学来交换数字,而不是使用临时变量。
对于该操作,存储 ( first -second )很重要,first = first - second;
first = 12.0f - 24.5fsecond = first + second;
second = (12.0f - 24.5f) + 24.5f = 12.0ffirst = second - first;
first = 12.0f - (12.0f - 24.5f) = 24.5f
交换的数字使用println()在屏幕上打印。