I det här programmet lär du dig två tekniker för att byta två nummer i Java. Den första använder en tillfällig variabel för att byta, medan den andra inte använder några temporära variabler.
För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:
- Java-datatyper (primitiva)
- Java-operatörer
Exempel 1: Byt två nummer med en tillfällig variabel
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); ) )
Utgång :
--Innan byte - Första siffran = 1,2 Andra siffran = 2,45 --Efter bytet - Första siffran = 2,45 Andra siffran = 1,2
I ovanstående program lagras två nummer 1.20f
och 2.45f
som ska bytas ut i variabler: första respektive andra.
Variablerna skrivs ut innan de byts med hjälp av för println()
att se resultaten tydligt efter att bytningen är klar.
- Först lagras värdet på först i variabel temporär (
temporary = 1.20f
). - Därefter lagras värdet på sekunden i första (
first = 2.45f
). - Och slutligen lagras värdet av tillfälligt i andra (
second = 1.20f
).
Detta avslutar bytprocessen och variablerna skrivs ut på skärmen.
Kom ihåg att den enda användningen av tillfällig är att hålla värdet på först innan du byter. Du kan också byta siffror utan att använda tillfälligt.
Exempel 2: Byt två nummer utan att använda temporär variabel
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); ) )
Utgång :
--Byte innan byte - Första siffran = 12,0 Andra siffran = 24,5 - Efter bytet - Första siffran = 24,5 Andra siffran = 12,0
I ovanstående program, istället för att använda tillfällig variabel, använder vi enkel matematik för att byta siffror.
För operationen är lagring (first - second)
viktigt. Detta lagras först i variabel.
första = första - andra; första = 12,0f - 24,5f
Sedan lägger vi bara till andra ( 24.5f
) till detta nummer - beräknas först ( 12.0f - 24.5f
) för att byta ut numret.
andra = första + andra; sekund = (12.0f - 24.5f) + 24.5f = 12.0f
Nu håller andra inne 12.0f
(vilket ursprungligen var värdet av det första). Så vi subtraherar beräknat först ( 12.0f - 24.5f
) från bytt sekund ( 12.0f
) för att få det andra bytte numret.
första = andra - första; första = 12,0f - (12,0f - 24,5f) = 24,5f
De utbytta siffrorna skrivs ut på skärmen med println()
.