Kuidas rakendada Java-s kahe numbri liitmist?



Selles artiklis tutvustatakse teile lihtsat, kuid olulist kontseptsiooni, milleks on kahe Java lisamine koos demonstratsiooniga.

Selles artiklis tutvustan teile lihtsat, kuid olulist mõistet, milleks on Java kahe numbri lisamine. Kuid enne edasiliikumist soovitaksin teil tutvuda varasema versiooniga „Mis on Java“, Java funktsioonidega ja kuidas Java oma süsteemi installida. . See aitab teil kiiresti ja lihtsalt haarata tulevasi kontseptsioone. Teised meie kirjutatud selle Java õpetuste sarja ajaveebid eksperdid käsitlevad põhjalikult kõiki Java ja J2EE olulisi teemasid,

Järgmisi näpunäiteid käsitletakse selles artiklis,





Alustagem siis

Kahe numbri lisamine Java-s

1. meetod

Mõelgem otse, arendades Java-s programmi, et ekraanile printida „Kahe numbri lisamine”.



Klass AddTwoNumbers {public static void main (String [] args) {System.out.println ('Kahe numbri 10 + 20 lisamine on' + (10 + 20))}}

Väljund

Väljund - lisage Java-s kaks numbrit - Edureka

Me peame sellest aru saama, siin lisatakse numbrid otse, öeldes 10 + 20, mis on 30. Aga see, mida me konsoolilt numbreid saame. Sel juhul salvestatakse väärtused muutujasse. Java osas salvestab massiivmuutuja String need numbrid nende indeksi põhjal.



public class Main {public static void main (String [] args) {System.out.println ('Kahe numbri lisamine' + args [0] + '+' + args [1] + 'on' + (args [0 ] + argumendid [1]))}}

Selle väljund on konsoolis näidatud, kui edastame sama numbri, mis on 10 ja 20.

Eh, siin saadud tulemust ei soovita. 30. Pea meeles Stringi [] argumente, iga konsoolilt saadud sisend on stringis esindatud. Nii et siin peame liitmise arvutamiseks need stringid teisendama täisarvuks.

kuidas määrata java klassirada
avalik klass Main {avalik staatiline void main (String [] args) {//System.out.println(' Kahe numbri lisamine '+ args [0] +' + '+ args [1] +' on '+ (args [0] + args [1])) System.out.println ('Kahe numbri lisamine' + args [0] + '+' + args [1] + 'on' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}

Väljund

Nüüd on soovitud väljund see, mida me tahame. See tähendab, et 10 ja 20 on 30 pärast seda, kui oleme selle sõelunud täisarvuni.

Järgmine selles artiklis Java kahe numbri lisamise kohta

2. meetod

  1. Kasutades lahutamisoperaatorit: Võime lahutamise abil lisada kaks arvu, nii et see eitab negatiivse väärtuse ja tuleneb liitmisest.

public class AddTwoNumbers {public static int add (int a, int b) {return a - (-b)} public static void main (String [] args) {System.out.println (add (10, 20)) System. out.println (lisa (-10, 20))}}

Ouput

30

10

Järgmine selles artiklis Java kahe numbri lisamise kohta

Korduv Unary Operaator

See hõlmab loopi, selle põhiidee on viia esimese operandi väärtus nulli. Ja jätkata vastava teise operandi suurendamist sama arvu korduste võrra. Mõelge ise allpool toodud näitele.

public class HelloWorld {public static void main (String [] args) {System.out.println ('add' + add (10, 20)) System.out.println ('add' + add (-10, 20)) } public static int add (int a, int b) {//System.out.println ('--->' + a + ':' + b) while (a> 0) {//System.out.println ('while a> 0 --->' + a + ':' + b) b ++ a--} samas (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) tagastamine b}}

Ouput

$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld lisage 30 lisa 10

Järgmine selles artiklis Java kahe numbri lisamise kohta

Bitipõhine ja Bitshifti operaator Java-s

Samuti saame kahe täisarvu lisada XOR-i bitipõhise operaatori abil ja kandmise saab operaator AND. Kandesummaks lisamiseks peame kasutama allkirjastatud vasakpoolse vahetuse operaatorit. Kuidas see juhtub? Vaatame kõigepealt näidet.

public class HelloWorld {public static void main (String [] args) {System.out.println ('Lisa kasutades + ve' + addUsingBits (10, 20)) System.out.println ('Lisa -ve abil + LisaUsingBits -10, 20))} public staatiline int addUsingBits (int a, int b) {while (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }

Väljund

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Lisamine, kasutades + ve 30

Lisamine -ve 10 abil

Pidage alati meeles, et kahe biti lisamise hindamiseks kasutatakse operatsiooni XOR. AND-operatsiooni kasutatakse kahe biti ülekande hindamiseks. Lahkame seda, kas pole? Sisendväärtustest lähtuvalt võtame esimese tingimuse korral a = 10 ja b = 20.

Operatsioon

Väljenduse hindamine

Binaarne ekvivalent

Kümnendväärtus

kuni

10

00001010

10

b

kakskümmend

00010100

kakskümmend

samas (b! = 0)

tõsi

int kandma = (a & b)

10 ja 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = kandma<< 1

0<< 1

0

0

tagastama a

30

00011110

30

Võtame nüüd negatiivse sisendi, näiteks a-väärtuseks -10. Uurime, mis juhtub allolevas tabelis.See võimaldab meil jätkata, kuni kande kümnendväärtus on negatiivne.

Järgmine selles artiklis Java kahe numbri lisamise kohta

Esialgne aasade tabel

Operatsioon

Väljenduse hindamine

Binaarne ekvivalent

Kümnendväärtus

kuni

-10

11110110

-10

b

kakskümmend

00010100

kakskümmend

samas (b! = 0)

tõsi

int kandma = (a & b)

-10 ja 20

00010100

kakskümmend

a = a ^ b

-10 ^ 20

11100010

-30

b = kandma<< 1

kakskümmend<< 1

00101000

40

1. silmus.

Operatsioon

Väljenduse hindamine

Binaarne ekvivalent

Kümnendväärtus

kuni

-30

11100010

-30

b

40

00101000

40

samas (b! = 0)

tõsi

int kandma = (a & b)

-30 ja 40

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = kandma<< 1

32<< 1

00101000

64

Ja nii edasi & hellip, kuni silmus osutub lühikeseks b = 0, kõiki tulemusi ei kuvata siin. Nii et tabeli all on selle operatsiooni viimane silmus.

Operatsioon

Väljenduse hindamine

Binaarne ekvivalent

Kümnendväärtus

kuni

-2147483638

11111111111111111111111111111110000000000000000000000000000000001010

-2147483638

b

-2147483648

1111111111111111111111111111100100000000000000000000000000000000000

-2147483648

samas (b! = 0)

tõsi

int kandma = (a & b)

-2147483638 ja -2147483648

1111111111111111111111111111100100000000000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10

b = kandma<< 1

-2147483648<< 1

0

0

tagastama a

10

00001010

10

Nii saigi liitumine arvutatud. Phew! nii palju sellest mõttest. Mõelge vaid sellele, kas selle arvutuse tegid inimesed käsitsi, peamiselt binaararvutused.

Järgmine selles artiklis Java kahe numbri lisamise kohta

Rekursioon

Samuti võime ülaltoodud programmi kirjutada ka rekursiooni abil. Arvestusosa erineb veidi, kas võiksime seda kaaluda kodutööde jaoks? Annan siin väljavõtte rekursiooniks ja proovite ise oma lauda ehitada, et teaksite, kuidas see sisemiselt töötab. Samuti pole vaja seda kõike ainult esindamise eesmärgil rüübata, välja arvatud juhul, kui olete siinse töö pärast põnevil.

public staatiline int addUsingRecursion (int a, int b) {if (b == 0) tagastab int summa = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }

See kõik oli kahe Java-numbri lisamiseks, kasutades + operaatorit ja ilma + operaatorit. Kummagi poole pöördumise põhjus sõltub täielikult projekti vajadusest ja nõudest.

Ma pole mõlema stsenaariumi toimimist tulemuslikkuse saavutamiseks hinnanud ja katsetanud. Ma arvan, et see jõustub ainult siis, kui ehitate raketti ja toimetate selle kosmosesse.

Olen lühiduse huvides selgitanud ainult täisarvudega seotud numbreid, millel on oma mälupiirang. Jätan teile edasise uurimise ujuki, topelt jne kasutamise kohta. Pidage meeles, et kui ületate primitiivsete tüüpide piirväärtuse, näitab tulemus erinevat vastust.

Vaadake Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Oleme siin, et aidata teil igal sammul oma teekonnal, et teie parimaks saada, pakume välja õppekava, mis on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java arendajad.

kas sa saad topelt int-le visata