В этой программе вы изучите два метода обмена двумя числами в Java. Первый использует временную переменную для подкачки, а второй не использует никаких временных переменных.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Типы данных Java (примитивные)
- Операторы Java
Пример 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); ) )
Выход :
--Перед обменом - Первое число = 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: поменять местами два числа без использования временной переменной
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); ) )
Выход :
--Перед обменом - Первое число = 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()
.