示例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
在上面的程序中,两个要交换的数字1.20f
和2.45f
存储在变量中:分别是first和second 。
在交换之前使用println()
打印变量,以在交换完成后清楚地看到结果。
- 首先, first的值存储在临时变量中(
temporary = 1.20f
)。 - 然后, second的值存储在first (
first = 2.45f
)中。 - 并且, 临时值的最终值存储在second (
second = 1.20f
)中。
这样就完成了交换过程,并且变量被打印在屏幕上。
请记住, 临时的唯一用途是在交换之前保留first的值。您也可以不使用临时交换数字。
示例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.5f
然后,我们只向该数字添加 第二个 ( 24.5f
)- 首先计算( 12.0f - 24.5f
)以交换该数字。
second = first + second;
second = (12.0f - 24.5f) + 24.5f = 12.0f
现在, 第二个保持12.0f
(最初是第一个的值)。因此,我们从被交换的第二个 ( 12.0f
)中减去首先计算出的( 12.0f - 24.5f
12.0f
)以获得另一个被交换的数字。
first = second - first;
first = 12.0f - (12.0f - 24.5f) = 24.5f
交换的数字使用println()
在屏幕上打印。