В тази програма ще научите две техники за размяна на две числа в 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 се съхранява в променлива временна (
temporary = 1.20f
). - След това стойността на second се съхранява в first (
first = 2.45f
). - И накрая стойността на временното се съхранява във second (
second = 1.20f
).
Това завършва процеса на размяна и променливите се отпечатват на екрана.
Не забравяйте, че единственото използване на временното е да задържите стойността на first преди размяна. Можете също така да разменяте номера без да използвате временно.
Пример 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)
е важно съхранението . Това първо се съхранява в променлива.
първи = първи - втори; първо = 12.0f - 24.5f
След това просто добавяме second ( 24.5f
) към това число - изчислено first ( 12.0f - 24.5f
), за да сменим номера.
второ = първо + второ; второ = (12.0f - 24.5f) + 24.5f = 12.0f
Сега, второто държи 12.0f
(което първоначално беше стойността на първото). И така, изваждаме изчисленото first ( 12.0f - 24.5f
) от swapped second ( 12.0f
), за да получим другото заменено число.
първи = втори - първи; първо = 12.0f - (12.0f - 24.5f) = 24.5f
Разменените номера се отпечатват на екрана с помощта на println()
.