Ako implementovať pridanie dvoch čísel do Javy?



V tomto článku vám predstavím jednoduchý, ale dôležitý koncept, ktorý predstavuje sčítanie dvoch čísel v Jave s demonštráciou.

V tomto článku vám predstavím jednoduchý, ale dôležitý koncept, ktorý je pridaním dvoch čísel v Jave. Predtým, ako budete pokračovať, navrhujem, aby ste sa oboznámili s „Čo je Java“, funkciami Java a ako si môžete nainštalovať Java do vášho systému, ktoré nájdete v predchádzajúcich . To vám pomôže rýchlo a ľahko chytiť prichádzajúce koncepty. Ostatné blogy v tejto sérii výučbových programov Java, ktoré napísal náš odborníci sa podrobne venujú všetkým dôležitým témam Java & J2EE,

V tomto článku sa budeme zaoberať nasledujúcimi ukazovateľmi,





Poďme teda do toho,

Sčítanie dvoch čísel v Jave

Metóda 1

Poďme to pochopiť priamo vyvinutím programu v Jave, ktorý na obrazovke vytlačí „Sčítanie dvoch čísel“.



Trieda AddTwoNumbers {public static void main (String [] args) {System.out.println („Sčítanie dvoch čísel 10 + 20 je“ + (10 + 20))}}

Výkon

Výstup - Pridajte dve čísla v Jave - Edureka

Musíme to pochopiť, tu sa pridávajú čísla, priamo povedané 10 + 20, čo je 30. Ale to, čo dostávame čísla z konzoly. V takom prípade sa hodnoty uložia do premennej. Pokiaľ ide o Javu, premenná poľa String uloží tieto čísla na základe ich indexu.



public class Main {public static void main (String [] args) {System.out.println ('Add of two numbers' + args [0] + '+' + args [1] + 'is' + (args [0 ] + args [1]))}}

Výstup pre toto bude taký, aký je zobrazený v konzole, keď prekonáme rovnaké číslo, ktoré je 10 a 20.

Eh, výsledok, ktorý sme tu dostali, nie je požadovaný 30. Pamätajte na argumenty String [], každý vstup, ktorý vezmete z konzoly, je zastúpený v reťazci. Takže tu musíme tieto reťazce previesť na celé číslo, aby sme vypočítali sčítanie.

public class Main {public static void main (String [] args) {//System.out.println('Addition of two numbers '+ args [0] +' + '+ args [1] +' is '+ (args [0] + args [1])) System.out.println ('Sčítanie dvoch čísel' + args [0] + '+' + args [1] + 'je' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}

Výkon

Požadovaný výstup je teraz taký, aký chceme. To je sčítanie 10 a 20 je 30 potom, čo sme ich analyzovali z reťazca na celé číslo.

Ďalej v tomto článku o pridaní dvoch čísel v Jave

Metóda 2

  1. Pomocou operátora Odčítanie: Môžeme použiť odčítanie na sčítanie dvoch čísel tak, že bude negovať zápornú hodnotu a bude mať za následok sčítanie.

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 (pridať (-10, 20))}}

Výstup

30

10

fibonacciho rekurzívny c ++

Ďalej v tomto článku o pridaní dvoch čísel v Jave

Opakovaný unárny operátor

To zahŕňa while, základnou myšlienkou je vyniesť hodnotu prvého operandu na nulu. A neustále zvyšovať zodpovedajúci druhý operand o rovnaké množstvo iterácií. Zvážte sami nižšie uvedený príklad.

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--} while (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) vrátiť b}}

Výstup

$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld pridať 30 pridať 10

Ďalej v tomto článku o pridaní dvoch čísel v Jave

Bitový operátor a bitový posun v Jave

Sčítanie dvoch celých čísel môžeme urobiť aj pomocou bitového operátora XOR a carry môžeme získať operátorom AND. Na sčítanie prenosu musíme použiť podpísaný operátor ľavého posunu. Ako sa to stane? Pozrime sa najskôr na príklad.

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

Výkon

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Sčítanie pomocou + ve 30

Sčítanie pomocou -ve 10

Vždy pamätajte na to, že operácia XOR sa používa na vyhodnotenie pridania dvoch bitov. Operácia AND sa používa na vyhodnotenie prenosu dvoch bitov. Poďme to rozobrať, však? Ak ideme po vstupných hodnotách, vezmime a = 10 a b = 20 pre prvú podmienku.

Prevádzka

Vyhodnotenie výrazu

Binárny ekvivalent

Desatinná hodnota

do

10

00001010

10

b

dvadsať

00010100

dvadsať

while (b! = 0)

pravda

int carry = (a & b)

10 a 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = nosiť<< 1

0<< 1

0

0

vrátiť a

30

00011110

30

Teraz si vezmime záporný vstup, povedzme -10. Pozrime sa, čo sa stane v nasledujúcej tabuľke.Toto nás nechá v slučke, kým sa desatinná hodnota prenosu nedostane k zápornej hodnote.

Ďalej v tomto článku o pridaní dvoch čísel v Jave

Tabuľka počiatočných slučiek

Prevádzka

Vyhodnotenie výrazu

Binárny ekvivalent

Desatinná hodnota

do

-10

11110110

-10

b

dvadsať

00010100

dvadsať

while (b! = 0)

pravda

int carry = (a & b)

-10 a 20

00010100

dvadsať

a = a ^ b

-10 ^ 20

11100010

-30

b = nosiť<< 1

dvadsať<< 1

00101000

40

Slučka 1.

Prevádzka

Vyhodnotenie výrazu

Binárny ekvivalent

Desatinná hodnota

do

-30

11100010

-30

b

40

00101000

40

while (b! = 0)

pravda

int carry = (a & b)

-30 a 40

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = nosiť<< 1

32<< 1

čo je značka span v html

00101000

64

A tak ďalej & hellip, až sa z dôvodu stručnosti ukáže, že slučka bude b = 0, nie sú tu zobrazené všetky výsledky. Takže nižšie uvedená tabuľka predstavuje poslednú slučku v tejto operácii.

Prevádzka

Vyhodnotenie výrazu

Binárny ekvivalent

Desatinná hodnota

do

-2147483638

1111111111111111111111111111110000000000000000000000000001010

-2147483638

b

-2147483648

11111111111111111111111111111100000000000000000000000000000

-2147483648

while (b! = 0)

pravda

int carry = (a & b)

-2147483638 a -2147483648

11111111111111111111111111111100000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10

b = nosiť<< 1

-2147483648<< 1

0

0

vrátiť a

10

00001010

10

Takto sa vypočítal prírastok. Uf! toľko na zamyslenie. Len si pomyslite, či tento výpočet vykonali ľudia ručne, hlavne binárne výpočty.

Ďalej v tomto článku o pridaní dvoch čísel v Jave

Rekurzia

Vyššie uvedený program môžeme napísať aj pomocou rekurzie. Výpočtová časť sa mierne líši, zvážime to pre domáce úlohy, však? Dám sem výpis pre rekurziu a vy sa pokúsite zostaviť svoj vlastný stôl, aby ste vedeli, ako to funguje interne. Nie je tiež potrebné preháňať to všetko, čo slúži iba na reprezentačné účely, pokiaľ tu nie ste nadšení z interného fungovania.

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

To všetko bolo na doplnenie dvoch čísel v Jave s použitím operátora + a bez použitia operátora +. Dôvod, prečo ísť za ktorýmkoľvek z nich, bude úplne závisieť od potreby a požiadavky projektu.

Nehodnotil som a netestoval som fungovanie oboch scenárov, aby som prišiel s výkonom. Myslím, že to nadobudne platnosť, iba ak raketu staviate a dopravíte ju do vesmíru.

Vysvetlil som iba čísla týkajúce sa celých čísel pre stručnosť, ktorá má svoj vlastný limit pamäte. Nechám na vás ďalšie preskúmanie pomocou float, double atď. Vždy pamätajte, že ak prekročíte limitnú hodnotu primitívnych typov, výsledok zobrazí inú odpoveď.

Pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Sme tu, aby sme vám pomohli na každom kroku na vašej ceste. Aby ste sa stali čo najlepšími, vymyslíme učebné osnovy určené pre študentov a profesionálov, ktorí chcú byť vývojármi Java.