В этой программе вы изучите два метода обмена двумя числами в Kotlin. Первый использует временную переменную для подкачки, а второй не использует никаких временных переменных.
Пример 1: поменять местами два числа с помощью временной переменной
fun main(args: Array) ( 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") )
Когда вы запустите программу, вывод будет:
--Перед обменом - Первое число = 1,2 Второе число = 2,45 - После обмена - Первое число = 2,45 Второе число = 1,2
В приведенной выше программе два числа 1.20f
и, 2.45f
которые нужно поменять местами, хранятся в переменных: первое и второе соответственно.
Переменные печатаются перед заменой, println()
чтобы отчетливо видеть результаты после завершения замены.
- Во-первых, значение first сохраняется в переменной external (
temporary = 1.20f
). - Затем значение second сохраняется в first (
first = 2.45f
). - И, наконец, значение временного сохраняется в second (
second = 1.20f
).
На этом процесс подкачки завершается, и переменные выводятся на экран.
Помните, что единственное использование временного параметра - сначала удерживать значение перед заменой. Вы также можете поменять местами номера без использования временных.
Пример 2: поменять местами два числа без использования временной переменной
fun main(args: Array) ( 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") )
Когда вы запустите программу, вывод будет:
--Перед обменом - Первое число = 12,0 Второе число = 24,5 - После обмена - Первое число = 24,5 Второе число = 12,0
В приведенной выше программе вместо временной переменной мы используем простую математику для обмена числами.
Для операции (first - second)
важно хранение . Это сначала сохраняется в переменной.
first = first - второй; first = 12.0f - 24.5f
Затем мы просто добавляем24.5f
к этому числу second ( ) - вычисленное first ( 12.0f - 24.5f
), чтобы поменять местами число.
второй = первый + второй; второй = (12.0f - 24.5f) + 24.5f = 12.0f
Теперь держится второе 12.0f
(которое изначально было значением first). Итак, мы вычитаем вычисленное first ( 12.0f - 24.5f
) из подкачки second ( 12.0f
), чтобы получить другое подмененное число.
first = second - первое; first = 12.0f - (12.0f - 24.5f) = 24.5f
Поменяемые местами числа печатаются на экране с помощью println()
.
Вот эквивалентный код на Java: Поменять местами два числа в Java