在此程序中,您将学习两种在Java中交换两个数字的技术。第一个使用临时变量进行交换,而第二个不使用任何临时变量。
fun main(args: Array<String>) { var first = 12.0f var second = 24.5f println("--交换前--") println("第一个数字 = $first") println("第二个数字 = $second") first = first - second second = first + second first = second - first println("--交换后--") println("第一个数字 = $first") println("第二个数字 = $second") }
运行该程序时,输出为:
--交换前-- 第一个数字 = 1.2 第二个数字 = 2.45 --交换后-- 第一个数字 = 2.45 第二个数字 = 1.2
在上面的程序中,要交换的两个数字1.20f和2.45f分别存储在变量first和second中。
交换之前使用println()来打印变量,以在交换完成后清楚地看到结果。
首先,first的值存储在临时变量temporary(temporary = 1.20f)中。
然后,second的值存储在first中(first = 2.45f)。
并且,最终的值temporary存储在second(second = 1.20f)中。
这样就完成了交换过程,并且变量被打印在屏幕上。
请记住,temporary的唯一用途是在交换之前保存 first 的值。您也可以不使用temporary交换数字。
fun main(args: Array<String>) { var first = 12.0f var second = 24.5f println("--交换前--"); println("第一个数字 = " + $first) println("第二个数字 = " + $second) first = first - second second = first + second first = second - first println("--交换后--"); println("第一个数字 = " + $first) println("第二个数字 = " + $second) }
运行该程序时,输出为:
--交换前-- 第一个数字 = 12.0 第二个数字 = 24.5 --交换后-- 第一个数字 = 24.5 第二个数字 = 12.0
在上面的程序中,我们使用简单的数学来交换数字,而不是使用临时变量。
对于操作,存储(first - second)很重要。这存储在变量中first。
first = first - second; first = 12.0f - 24.5f
然后,我们只需在该数字上加上 second(24.5f)-计算出的first(12.0f - 24.5f)即可交换该数字。
second = first + second; second = (12.0f - 24.5f) + 24.5f = 12.0f
现在,second持有12.0f(它最初是first的值)。因此,我们从交换的第二(12.0f)中减去计算第一(12.0f - 24.5f)得到另一个交换的数字。
first = second - first; first = 12.0f - (12.0f - 24.5f) = 24.5f
交换的数字使用println()打印在屏幕上。
这是Java中的等效代码:在Java中交换两个数字