🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Kotlin 程序:交换两个数字 > 原文: [https://www.programiz.com/kotlin-programming/examples/swap-two-numbers](https://www.programiz.com/kotlin-programming/examples/swap-two-numbers) #### 在此程序中,您将学到两种在 Kotlin 中交换两个数字的技术。 第一个使用临时变量进行交换,而第二个不使用任何临时变量。 ## 示例 1:使用临时变量交换两个数字 ```kt fun main(args: Array<String>) { var first = 1.20f var second = 2.45f println("--Before swap--") println("First number = $first") println("Second number = $second") // Value of first is assigned to temporary val 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 println("--After swap--") println("First number = $first") println("Second number = $second") } ``` 运行该程序时,输出为: ```kt --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`(`temporary = 1.20f`)中。 * 然后,将`second`的值存储在`first`(`first = 2.45f`)中。 * 并且,最终将`temporary`的值存储在`second`(`second = 1.20f`)中。 这样就完成了交换过程,并且变量被打印在屏幕上。 请记住,`temporary`的唯一用途是在交换之前先保持`first`的值。 您也可以不使用`temporary`交换号码。 * * * ## 示例 2:交换两个数字而不使用临时变量 ```kt fun main(args: Array<String>) { var first = 12.0f var second = 24.5f println("--Before swap--") println("First number = $first") println("Second number = $second") first = first - second second = first + second first = second - first println("--After swap--") println("First number = $first") println("Second number = $second") } ``` 运行该程序时,输出为: ```kt --Before swap-- First number = 12.0 Second number = 24.5 --After swap-- First number = 24.5 Second number = 12.0 ``` 在上面的程序中,我们使用简单的数学来交换数字,而不是使用临时变量。 对于该操作,`(first - second)`的存储很重要。 首先将其存储在变量``中。 ```kt first = first - second; first = 12.0f - 24.5f ``` 然后,我们只需将这个数 - 之前计算的`first`(`12.0f - 24.5f`)**加上**`second`(`24.5f`)即可交换该数字。 ```kt second = first + second; second = (12.0f - 24.5f) + 24.5f = 12.0f ``` 现在,`second`保持`12.0f`(最初是第一值)。 因此,我们从交换的`second`(`12.0f`)中减去计算出的`first`(`12.0f - 24.5f`),以获得其他交换数。 ```kt first = second - first; first = 12.0f - (12.0f - 24.5f) = 24.5f ``` 交换的号码使用`println()`打印在屏幕上。 * * * 这是 Java 中的等效代码:[在 Java 中交换两个数字](/java-programming/examples/swap-two-numbers "Java Program to Swap Two numbers")