Kotlin 交换两个数字的程序

示例1:使用临时变量交换两个数字

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")
}

运行程序后,输出将是

--Before swap--
First number = 1.2
Second number = 2.45
--After swap--
First number = 2.45
Second number = 1.2

在上面的程序中,要交换的两个数字 1.20f2.45f 分别存储在变量 firstsecond 中。

在交换完成后,使用 println() 打印变量,以便清楚地看到结果。

  • 首先,first 的值存储在变量 temporary 中 (temporary = 1.20f)。
  • 然后,second 的值存储在 first 中 (first = 2.45f)。
  • 最后,temporary 的值存储在 second 中 (second = 1.20f)。

这就完成了交换过程,变量将在屏幕上打印出来。

请记住,temporary 的唯一用途是在交换之前保存 first 的值。您也可以不使用 temporary 来交换数字。


示例2:不使用临时变量交换两个数字

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")
}

运行程序后,输出将是

--Before swap--
First number = 12.0
Second number = 24.5
--After swap--
First number = 24.5
Second number = 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 的值)。所以,我们从已交换的 second (12.0f) 中减去计算出的 first (12.0f - 24.5f) 来得到另一个交换的数字。

first = second - first;
first = 12.0f - (12.0f - 24.5f) = 24.5f

交换后的数字将使用 println() 打印在屏幕上。


这是Java中的等效代码:Java中交换两个数字

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战