Cum se implementează adăugarea a două numere în Java?



În acest articol, vă vom prezenta un concept simplu, dar important, care este adăugarea a două numere în Java cu demonstrație.

În acest articol, vă voi prezenta un concept simplu, dar important, care este adăugarea a două numere în Java. Dar, înainte de a merge mai departe, v-aș sugera să vă familiarizați cu „Ce este Java”, caracteristicile Java și cum puteți instala Java pe sistemul dvs., pe care îl puteți găsi în versiunile anterioare . Acest lucru vă va ajuta să înțelegeți conceptele viitoare rapid și ușor. Celelalte bloguri din această serie de tutoriale Java scrise de experții vor acoperi în detaliu toate subiectele importante ale Java și J2EE,

Următoarele indicații vor fi tratate în acest articol,





Deci, hai să începem atunci,

Adăugarea a două numere în Java

Metoda 1

Să înțelegem direct dezvoltând un program în Java pentru a imprima „Adăugarea a două numere” pe ecran.



Class AddTwoNumbers {public static void main (String [] args) {System.out.println („Adăugarea a două numere 10 + 20 este” + (10 + 20))}}

Ieșire

Ieșire - Adăugați două numere în Java - Edureka

Trebuie să înțelegem acest lucru că, aici numerele sunt adăugate direct, spunem 10 + 20, adică 30. Dar ceea ce primim numerele de pe consolă. În acest caz, valorile vor fi stocate într-o variabilă. În ceea ce privește Java, variabila matrice String va stoca aceste numere pe baza indexului lor.



public class Main {public static void main (String [] args) {System.out.println ('Adăugarea a două numere' + args [0] + '+' + args [1] + 'este' + (args [0 ] + args [1]))}}

Ieșirea pentru aceasta va fi așa cum se arată în Consolă atunci când trecem același număr care este 10 și 20.

Eh, rezultatul pe care l-am obținut aici nu este dorit 30. Amintiți-vă argumentele String [], fiecare intrare pe care o luați de pe consolă este reprezentată în String. Deci, aici trebuie să convertim acele șiruri în întreg pentru a calcula adunarea.

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 ('Adăugarea a două numere' + args [0] + '+' + args [1] + 'este' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}}

Ieșire

Acum rezultatul dorit este ceea ce ne dorim. Aceasta este adăugarea de 10 și 20 este 30 după ce am analizat-o de la String la Integer.

Următorul în acest articol despre Adăugarea a două numere în Java

Metoda 2

  1. Utilizarea operatorului de scădere: Putem folosi scăderea pentru a adăuga două numere astfel încât să anuleze valoarea negativă și să rezulte astfel în adunare.

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

Ouput

30

10

Următorul în acest articol despre Adăugarea a două numere în Java

Operator unar repetat

Aceasta implică bucla while, ideea de bază din spatele acesteia este de a aduce valoarea primului operand la zero. Și să continue să-și mărească al doilea operand corespunzător cu aceeași cantitate de iterații. Luați în considerare exemplul de mai jos.

sortare matrice c ++
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) returnează b}}

Ouput

$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld adaugă 30 adaugă 10

Următorul în acest articol despre Adăugarea a două numere în Java

Operator Bitwise și Bitshift în Java

Putem face, de asemenea, adăugarea a două numere întregi folosind operatorul XOR în biți și transportul poate fi obținut de operatorul AND. Pentru a adăuga reportul în sumă, trebuie să folosim operatorul de schimbare stânga semnat. Cum se întâmplă acest lucru? Să vedem mai întâi un exemplu.

public class 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))} public static int addUsingBits (int a, int b) {while (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }

Ieșire

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Adăugare folosind + ve 30

Adăugare folosind -ve 10

Amintiți-vă întotdeauna că operația XOR este utilizată pentru a evalua adăugarea a doi biți. Operația AND este utilizată pentru a evalua transportul a doi biți. Să disecăm asta, nu-i așa? Urmând valorile de intrare, luăm a = 10 și b = 20 pentru prima condiție.

Operațiune

Evaluarea expresiei

Echivalent binar

Valoare zecimală

la

10

00001010

10

b

douăzeci

00010100

douăzeci

while (b! = 0)

Adevărat

int carry = (a & b)

10 și 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = transporta<< 1

0<< 1

0

0

retur a

30

00011110

30

Acum, să luăm o intrare negativă să spunem -10 pentru un. Să examinăm ce se întâmplă în tabelul de mai jos.Acest lucru ne lasă în buclă până când valoarea zecimală a transportului ajunge la negativ.

Următorul în acest articol despre Adăugarea a două numere în Java

Tabel inițial de buclă

Operațiune

Evaluarea expresiei

Echivalent binar

Valoare zecimală

la

-10

11110110

-10

b

douăzeci

00010100

douăzeci

while (b! = 0)

Adevărat

int carry = (a & b)

-10 și 20

00010100

douăzeci

a = a ^ b

-10 ^ 20

11100010

-30

b = transporta<< 1

douăzeci<< 1

00101000

40

Bucla 1.

Operațiune

Evaluarea expresiei

Echivalent binar

Valoare zecimală

la

-30

11100010

-30

b

40

00101000

40

while (b! = 0)

Adevărat

int carry = (a & b)

-30 și 40

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = transporta<< 1

32<< 1

00101000

64

Și așa mai departe & hellip până când bucla se dovedește a fi b = 0 pentru concizie, nu toate rezultatele sunt afișate aici. Deci tabelul de mai jos reprezintă ultima buclă în această operațiune.

Operațiune

Evaluarea expresiei

Echivalent binar

Valoare zecimală

la

-2147483638

111111111111111111111111111111111000000000000000000000000000001010

-2147483638

b

-2147483648

111111111111111111111111111111111000000000000000000000000000000000

-2147483648

while (b! = 0)

Adevărat

int carry = (a & b)

-2147483638 și -2147483648

111111111111111111111111111111111000000000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10

b = transporta<< 1

-2147483648<< 1

0

cod de exemplu python de regresie logistică

0

retur a

10

00001010

10

Deci, așa s-a calculat adăugarea. Phew! atât de mult pentru gând. Gândiți-vă doar dacă acest calcul a fost făcut manual de oameni, în principal calcule binare.

Următorul în acest articol despre Adăugarea a două numere în Java

Recursivitate

De asemenea, putem scrie programul de mai sus folosind și recursivitatea. Partea de calcul diferă ușor să luăm în considerare acest lucru pentru temele pentru tine, nu? Voi da extractul aici pentru recursivitate și veți încerca să vă construiți propria masă, astfel încât să știți cum funcționează intern. De asemenea, nu este nevoie să aruncați toate acestea doar în scop de reprezentare, cu excepția cazului în care sunteți entuziasmați de funcționarea internă aici.

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

Totul a fost pentru adăugarea a două numere în Java cu folosirea operatorului + și fără utilizarea operatorului +. Motivul care stă la baza oricăreia dintre acestea va depinde în totalitate de necesitatea și cerința proiectului.

Nu am evaluat și testat funcționarea ambelor scenarii pentru a veni cu performanțe. Cred că acest lucru va intra în vigoare numai dacă construiți racheta și o veți livra în spațiu.

Am explicat doar numerele legate de Numere întregi pentru concizie, care are propria limită de memorie. Vă las pe voi să explorați mai departe folosind float, double etc. Amintiți-vă întotdeauna că, dacă depășiți valoarea limită a tipurilor primitive, atunci rezultatul va arăta un răspuns diferit.

Verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Suntem aici pentru a vă ajuta cu fiecare pas din călătoria dvs., pentru a deveni cel mai bun dvs., venim cu un curriculum care este conceput pentru studenți și profesioniști care doresc să fie un dezvoltator Java.