Sådan implementeres tilføjelse af to numre i Java?



I denne artikel introducerer vi dig til et simpelt, men alligevel vigtigt koncept, der er tilføjelse af to numre i Java med demonstration.

I denne artikel vil jeg introducere dig til et simpelt, men alligevel vigtigt koncept, der er tilføjelse af to tal i Java. Men inden du går videre, vil jeg foreslå dig at blive fortrolig med 'Hvad er Java', funktioner i Java, og hvordan kan du installere Java på dit system, som du kan finde i tidligere . Dette hjælper dig med at få fat i de kommende koncepter hurtigt og nemt. De andre blogs i denne Java-tutorial-serie skrevet af vores eksperter vil dække alle de vigtige emner i Java og J2EE i dybden,

Følgende punkter vil blive dækket i denne artikel,





Så lad os komme i gang dengang,

Tilføjelse af to numre i Java

Metode 1

Lad os forstå det direkte ved at udvikle et program i Java til at udskrive 'Tilføjelse af to tal' på skærmen.



Klasse AddTwoNumbers {public static void main (String [] args) {System.out.println (“Tilføjelse af to tal 10 + 20 er” + (10 + 20))}}

Produktion

Output - Tilføj to numre i Java - Edureka

Vi skal forstå dette, at her tilføjes tal direkte, siger 10 + 20, der er 30. Men hvad vi får tal fra konsollen. I så fald gemmes værdierne i en variabel. Med hensyn til Java vil String-array-variablen gemme disse tal baseret på deres indeks.



public class Main {public static void main (String [] args) {System.out.println ('Tilføjelse af to tal' + args [0] + '+' + args [1] + 'er' + (args [0 ] + args [1]))}}

Outputtet for dette vil være som vist i konsollen, når vi passerer det samme nummer, der er 10 og 20.

Det resultat, vi fik her, er ikke ønsket 30. Husk, at String [] argumenterer, at alle input, du tager fra konsollen, er repræsenteret i String. Så her er vi nødt til at konvertere disse strenge til heltal for at beregne tilføjelsen.

public class Main {public static void main (String [] args) {//System.out.println('Tilføjelse af to tal '+ args [0] +' + '+ args [1] +' er '+ (args [0] + args [1])) System.out.println ('Tilføjelse af to tal' + args [0] + '+' + args [1] + 'er' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}

Produktion

Nu er det ønskede output, hvad vi ønsker. Det er tilføjelsen af ​​10, og 20 er 30, efter at vi har analyseret det fra streng til heltal.

Næste i denne artikel om tilføjelse af to numre i Java

Metode 2

  1. Brug af subtraktionsoperatør: Vi kan bruge subtraktion til at tilføje to tal, så det negerer den negative værdi og derved resulterer i addition.

offentlig klasse 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 (tilføj (-10, 20))}}

Ouput

30

10

Næste i denne artikel om tilføjelse af to numre i Java

Gentagen unary operatør

Dette involverer mens loop, den grundlæggende idé bag dette er at bringe værdien af ​​første operand til nul. Og for at fortsætte med at øge sin tilsvarende anden operand med samme antal iterationer. Overvej selv nedenstående eksempel.

offentlig klasse HelloWorld {public static void main (String [] args) {System.out.println ('add' + add (10, 20)) System.out.println ('add' + add (-10, 20)) } offentlig statisk int tilføjelse (int a, int b) {// System.out.println ('--->' + a + ':' + b) mens (a> 0) {// System.out.println ('mens a> 0 --->' + a + ':' + b) b ++ a--} mens (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) returner b}}

Ouput

$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld tilføj 30 tilføj 10

Næste i denne artikel om tilføjelse af to numre i Java

Bitvis og Bitshift-operatør i Java

Vi kan også tilføje to heltal ved hjælp af XOR bitvis operator og carry kan opnås af AND operator. For at tilføje carry in sum er vi nødt til at bruge signeret venstre skiftoperatør. Hvordan sker dette? Lad os først se et eksempel.

offentlig klasse HelloWorld {public static void main (String [] args) {System.out.println ('Addition using + ve' + addUsingBits (10, 20)) System.out.println ('Addition using -ve' + addUsingBits ( -10, 20))} offentlig statisk int addUsingBits (int a, int b) {mens (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }

Produktion

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Tilføjelse ved hjælp af + ve 30

Tilsætning ved hjælp af -ve 10

Husk altid, at XOR-operation bruges til at evaluere tilføjelse af to bits. AND-operation bruges til at evaluere bæring af to bits. Lad os dissekere dette, skal vi? Går vi efter inputværdierne, lad os tage a = 10 og b = 20 for den første betingelse.

Operation

Ekspression evaluering

Binær ækvivalent

Decimalværdi

til

10

00001010

10

b

hvornår man skal bruge dette i java

tyve

00010100

tyve

mens (b! = 0)

sand

int carry = (a & b)

10 & 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = bære<< 1

0<< 1

0

0

returnere a

30

00011110

30

Lad os nu tage et negativt input, sige -10 for en. Lad os undersøge, hvad der sker i nedenstående tabel.Dette lader os løkke, indtil den decimale værdi af bærer bliver negativ.

Næste i denne artikel om tilføjelse af to numre i Java

Indledende sløjfetabel

Operation

Ekspression evaluering

Binær ækvivalent

Decimalværdi

til

-10

11110110

-10

b

tyve

00010100

tyve

mens (b! = 0)

sand

int carry = (a & b)

-10 & 20

00010100

tyve

a = a ^ b

-10 ^ 20

11100010

-30

b = bære<< 1

tyve<< 1

00101000

40

Sløjfe 1.

Operation

Ekspression evaluering

Binær ækvivalent

Decimalværdi

til

-30

11100010

-30

b

40

00101000

40

mens (b! = 0)

sand

int carry = (a & b)

-30 & 40

00100000

32

a = a ^ b

-30 ^ 40

hvad ide at bruge til java

11001010

-54

b = bære<< 1

32<< 1

00101000

64

Og så videre & hellip indtil loop viser sig at være b = 0 for kortfattethed, ikke alt resultat vises her. Så nedenstående tabel repræsenterer sidste løkke i denne operation.

Operation

Ekspression evaluering

Binær ækvivalent

Decimalværdi

til

-2147483638

1111111111111111111111111111100000000000000000000000000000001010

-2147483638

b

-2147483648

1111111111111111111111111111100000000000000000000000000000000000

-2147483648

mens (b! = 0)

sand

int carry = (a & b)

-2147483638 & -2147483648

1111111111111111111111111111100000000000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10

b = bære<< 1

-2147483648<< 1

0

0

returnere a

10

00001010

10

Så sådan blev beregningen beregnet. Pis! så meget for tanken. Tænk bare, hvis denne beregning blev udført manuelt af mennesker, hovedsageligt binære beregninger.

Næste i denne artikel om tilføjelse af to numre i Java

Rekursion

Vi kan også skrive ovenstående program ved hjælp af rekursion. Beregningsdelen adskiller sig lidt, lad os overveje dette til hjemmearbejde for dig, skal vi? Jeg vil give uddraget her til rekursionen, og du prøver at opbygge dit eget bord, så du ved, hvordan det fungerer internt. Det er heller ikke nødvendigt at kruske alt dette, der kun er til repræsentationsformål, medmindre du er begejstret for interne funktioner her.

offentlig statisk int addUsingRecursion (int a, int b) {hvis (b == 0) returnerer en int sum = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }

Dette var alt sammen for tilføjelsen af ​​to numre i Java med brug af + operator og uden brug af + operator. Årsagen bag at gå til en af ​​disse vil helt afhænge af projektets behov og krav.

Jeg har ikke evalueret og testet, hvordan begge scenarier fungerer for at komme med ydeevne. Jeg antager, at det kun vil træde i kraft, hvis du bygger raketten og leverer den til rummet.

Jeg har kun forklaret tal relateret til heltal for kortfattethed, som har sin egen hukommelsesgrænse. Jeg overlader det til dig at undersøge yderligere ved hjælp af float, double osv. Husk altid, at hvis du overskrider grænseværdien for primitive typer, vil resultatet vise et andet svar.

Tjek af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Vi er her for at hjælpe dig med hvert trin på din rejse, for at blive dit bedste, kommer vi med en læseplan, der er designet til studerende og fagfolk, der ønsker at være Java-udvikler.