Selles programmis saate teada kaks tehnikat kahe numbri vahetamiseks Java-s. Esimene neist kasutab vahetamiseks ajutist muutujat, teine aga ajutisi muutujaid.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Java programmeerimise teemadest:
- Java andmetüübid (primitiivsed)
- Java-operaatorid
Näide 1: vahetage kaks numbrit ajutise muutuja abil
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); ) )
Väljund :
- Enne vahetust - Esimene number = 1,2 Teine number = 2,45 - Pärast vahetust - Esimene number = 2,45 Teine number = 1,2
Ülaltoodud programmi kaks numbrit 1.20f
ja 2.45f
mis on vahetatav hoitakse muutujatega esimese ja teise koha.
Muutujad prinditakse enne vahetamist, println()
et näha tulemusi pärast vahetamise lõppu selgelt.
- Esiteks salvestatakse esimese väärtus muutujas ajutine (
temporary = 1.20f
). - Seejärel salvestatakse sekundi väärtus esimesse (
first = 2.45f
). - Ja lõpuks salvestatakse ajutise väärtus sekundis (
second = 1.20f
).
See lõpetab vahetamise ja muutujad prinditakse ekraanile.
Pidage meeles, et ajutise ainus kasutamine on enne vahetamist esimese väärtuse hoidmine. Numbreid saab vahetada ka ajutist kasutamata.
Näide 2: vahetage kaks numbrit ajutist muutujat kasutamata
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); ) )
Väljund :
- Enne vahetust - Esimene number = 12,0 Teine number = 24,5 - Pärast vahetust - Esimene number = 24,5 Teine number = 12,0
Ülaltoodud programmis kasutame ajutise muutuja asemel numbrite vahetamiseks lihtsat matemaatikat.
Operatsiooni jaoks on ladustamine (first - second)
oluline. Kõigepealt salvestatakse see muutujas.
esimene = esimene - teine; esimene = 12,0f - 24,5f
Seejärel lisame24.5f
sellele numbrile lihtsalt teise ( ) - arvutatakse kõigepealt ( 12.0f - 24.5f
), et arv vahetada.
teine = esimene + teine; sekund = (12,0f - 24,5f) + 24,5f = 12,0f
Nüüd kehtib teine 12.0f
(mis oli algselt esimese väärtus). Niisiis, teise vahetatud arvu saamiseks lahutame arvutatud esimese ( 12.0f - 24.5f
) teisest ( 12.0f
).
esimene = teine - esimene; esimene = 12,0f - (12,0f - 24,5f) = 24,5f
Vahetatud numbrid prinditakse ekraanile kasutades println()
.