V tem članku vam bom predstavil preprost, a pomemben koncept, to je dodajanje dveh števil v Javi. Preden nadaljujem, vam predlagam, da se seznanite s tem 'Kaj je Java', značilnostmi Java in kako lahko v svoj sistem namestite Javo, ki jo najdete v prejšnjih . To vam bo pomagalo hitro in enostavno zagrabiti prihajajoče koncepte. Drugi blogi v tej vadnici Java so jih napisali naši strokovnjaki bodo poglobljeno pokrivali vse pomembne teme Java in J2EE,
V tem članku bodo zajeti naslednji napotki:
- 1. metoda
- 2. metoda
- Ponavljajoči se enolični operater
- Začetna tabela zanke
- Bitva in Bitshift operater v Javi
- Rekurzija
Začnimo torej,
Dodajanje dveh številk v Javi
1. metoda
Razumejmo neposredno z razvojem programa na Javi, ki bo na zaslon natisnil »Dodajanje dveh številk«.
Razred AddTwoNumbers {public static void main (String [] args) {System.out.println (“Dodajanje dveh števil 10 + 20 je” + (10 + 20))}}
Izhod
To moramo razumeti, da tukaj se številke dodajo neposredno, recimo 10 + 20, kar je 30. Toda kaj dobimo s konzole. V tem primeru bodo vrednosti shranjene v spremenljivki. V smislu Java bo spremenljivka String array shranila te številke na podlagi njihovega indeksa.
javni razred Main {public static void main (String [] args) {System.out.println ('Dodajanje dveh številk' + args [0] + '+' + args [1] + 'je' + (args [0 ] + argumenti [1]))}}
Rezultat za to bo, kot je prikazano v konzoli, ko prenesemo isto številko, ki je 10 in 20.
Eh, rezultat, ki smo ga dobili tukaj, ni zaželen 30. Zapomnite si argumente String [], vsak vnos, ki ga vnesete s konzole, je predstavljen v nizu. Tu moramo torej te nize pretvoriti v celo število, da izračunamo dodatek.
javni razred Main {public static void main (String [] args) {//System.out.println('Dodajanje dveh števil '+ args [0] +' + '+ args [1] +' is '+ (args [0] + args [1])) System.out.println ('Dodajanje dveh številk' + args [0] + '+' + args [1] + 'je' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}
Izhod
Zdaj je želeni izhod tisto, kar želimo. To je dodatek 10 in 20 je 30, potem ko smo ga razčlenili iz String v Integer.
Naslednje v tem članku o Seštevanju dveh številk v Javi
2. metoda
Uporaba operatorja odštevanja: Z odštevanjem lahko dodamo dve številki, tako da bo negativna vrednost negativna in bo posledično prišla v seštevanje.
javni razred AddTwoNumbers {javni statični int add (int a, int b) {return a - (-b)} public static void main (String [] args) {System.out.println (add (10, 20)) System. out.println (dodaj (-10, 20))}}
Ouput
30.
10.
Naslednje v tem članku o Seštevanju dveh številk v Javi
Ponavljajoči se enolični operater
To vključuje zanko while, osnovna ideja tega pa je znižati vrednost prvega operanda na nič. In še naprej spodbujati ustrezni drugi operand za enako količino ponovitev. Spodnji primer si oglejte sami.
javni razred HelloWorld {public static void main (String [] args) {System.out.println ('add' + add (10, 20)) System.out.println ('add' + add (-10, 20)) } javni statični int dodaj (int a, int b) {//System.out.println ('--->' + a + ':' + b) medtem ko (a> 0) {//System.out.println ('while a> 0 --->' + a + ':' + b) b ++ a--} while (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) vrni b}}
Ouput
$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld dodaj 30 dodaj 10
Naslednje v tem članku o Seštevanju dveh številk v Javi
Bitva in Bitshift operater v Javi
Dodajanje dveh celih števil lahko izvedemo tudi z uporabo bitnega operatorja XOR, prenos pa lahko dobimo z operatorjem AND. Za dodajanje prenosa v vsoto moramo uporabiti podpisan operater leve izmene. Kako se to zgodi? Poglejmo najprej primer.
javni razred HelloWorld {public static void main (String [] args) {System.out.println ('Dodatek z uporabo + ve' + addUsingBits (10, 20)) System.out.println ('Dodatek z uporabo -ve' + addUsingBits ( -10, 20))} javni statični int addUsingBits (int a, int b) {while (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }
Izhod
$ javac HelloWorld.java
$ java -Xmx128M -Xms16M HelloWorld
Seštevanje z uporabo + ve 30
Seštevanje z uporabo -ve 10
Vedno si zapomnite, da se operacija XOR uporablja za oceno seštevanja dveh bitov. Operacija AND se uporablja za oceno prenosa dveh bitov. Seciramo to, kajne? Če upoštevamo vhodne vrednosti, vzamemo za prvi pogoj a = 10 in b = 20.
Delovanje | Vrednotenje izražanja | Binarni ekvivalent | Decimalna vrednost |
do | 10. | 00001010 | 10. |
b | dvajset | 00010100 | dvajset |
medtem ko (b! = 0) | prav | ||
int carry = (a & b) | 10 in 20 | 0 | 0 |
a = a ^ b | 10 ^ 20 | 00011110 | 30. |
b = prenašanje<< 1 | 0<< 1 | 0 | 0 |
vrni a | 30. | 00011110 | 30. |
Zdaj pa vzemimo negativni vhod, recimo -10 za a. Preučimo, kaj se zgodi v spodnji tabeli.To nam omogoča, da v zanki, dokler decimalna vrednost prenosa ne postane negativna.
Naslednje v tem članku o Seštevanju dveh številk v Javi
Začetna tabela zanke
Delovanje | Vrednotenje izražanja | Binarni ekvivalent | Decimalna vrednost |
do | -10 | 11110110 | -10 |
b | dvajset | 00010100 | dvajset na moč jave |
medtem ko (b! = 0) | prav | ||
int carry = (a & b) | -10 in 20 | 00010100 | dvajset |
a = a ^ b | -10 ^ 20 | 11100010 | -30 |
b = prenašanje<< 1 kaj je indexof v javascriptu | dvajset<< 1 | 00101000 | 40 |
Zanka 1.
Delovanje | Vrednotenje izražanja | Binarni ekvivalent | Decimalna vrednost |
do | -30 | 11100010 | -30 |
b | 40 | 00101000 | 40 |
medtem ko (b! = 0) | prav | ||
int carry = (a & b) | -30 in 40 | 00100000 | 32 |
a = a ^ b | -30 ^ 40 | 11001010 | -54 |
b = prenašanje<< 1 | 32<< 1 | 00101000 | 64 |
In tako naprej & hellip dokler se zanka ne izkaže b = 0 za kratkost, tukaj niso prikazani vsi rezultati. Torej spodnja tabela predstavlja zadnjo zanko v tej operaciji.
Delovanje | Vrednotenje izražanja | Binarni ekvivalent | Decimalna vrednost |
do | -2147483638 | 111111111111111111111111111111100000000000000000000000000000001010 | -2147483638 |
b | -2147483648 | 11111111111111111111111111111110000000000000000000000000000000 | -2147483648 |
medtem ko (b! = 0) | prav | ||
int carry = (a & b) | -2147483638 in -2147483648 | 11111111111111111111111111111110000000000000000000000000000000 | -2147483648 |
a = a ^ b | -2147483638 ^ -2147483648 | 00001010 | 10. |
b = prenašanje<< 1 | -2147483648<< 1 | 0 | 0 |
vrni a | 10. | 00001010 | 10. |
Tako je bil izračunan dodatek. Fuj! toliko o misli. Samo pomislite, če so ta izračun opravili ljudje ročno, predvsem binarni izračuni.
Naslednje v tem članku o Seštevanju dveh številk v Javi
Rekurzija
Zgornji program lahko napišemo tudi z uporabo rekurzije. Del za izračun se nekoliko razlikuje, kaj lahko upoštevamo pri domačih nalogah, kajne? Tu bom dal izvleček za rekurzijo, vi pa poskusite zgraditi svojo tabelo, da boste vedeli, kako deluje interno. Prav tako vam ni treba vrči vsega tega, kar je samo za namene predstavitve, razen če ste navdušeni nad notranjim delovanjem tukaj.
javni statični int addUsingRecursion (int a, int b) {if (b == 0) vrne int vsoto = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }
To je bilo vse za dodajanje dveh številk v Javi z uporabo operatorja + in brez uporabe operatorja +. Razlog za odločitev za katero koli od teh je v celoti odvisen od potrebe in zahtev projekta.
Nisem ocenil in preizkusil delovanja obeh scenarijev, da bi dosegel uspešnost. Predvidevam, da bo to začelo veljati le, če raketo gradite in jo pošljete v vesolje.
Za kratkost, ki ima lastno omejitev pomnilnika, sem razložil samo številke, povezane s celi števili. Prepuščam vam nadaljnje raziskovanje z uporabo float, double itd. Vedno si zapomnite, da če presežete mejno vrednost primitivnih tipov, bo rezultat pokazal drugačen odgovor.
Oglejte si Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu. Tu smo, da vam pomagamo pri vsakem koraku na poti, da postanete najboljši, pripravimo učni načrt, ki je namenjen študentom in strokovnjakom, ki želijo biti razvijalec Java.