Come implementare l'aggiunta di due numeri in Java?



In questo articolo, ti introdurrò a un concetto semplice ma importante che è l'aggiunta di due numeri in Java con dimostrazione.

In questo articolo, ti presenterò un concetto semplice ma importante che è l'aggiunta di due numeri in Java. Ma prima di andare avanti, ti suggerirei di familiarizzare con 'Cos'è Java', le caratteristiche di Java e come puoi installare Java sul tuo sistema, che puoi trovare nelle precedenti . Questo ti aiuterà ad acquisire rapidamente e facilmente i concetti in arrivo. Gli altri blog di questa serie di tutorial Java scritti dal nostro gli esperti tratteranno tutti gli argomenti importanti di Java e J2EE in profondità,

I seguenti suggerimenti saranno trattati in questo articolo,





Quindi iniziamo allora,

Aggiunta di due numeri in Java

Metodo 1

Comprendiamo direttamente sviluppando un programma in Java per stampare 'Addizione di due numeri' sullo schermo.



Classe AddTwoNumbers {public static void main (String [] args) {System.out.println ('Addition of two numbers 10 + 20 is' + (10 + 20))}}

Produzione

Output - Aggiungi due numeri in Java - Edureka

Dobbiamo capire questo che, qui i numeri vengono aggiunti direttamente diciamo 10 + 20 che è 30. Ma quello che otteniamo numeri dalla console. In tal caso i valori verranno memorizzati in una variabile. In termini di Java, la variabile array String memorizzerà quei numeri in base al loro indice.



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

L'output per questo sarà come mostrato in Console quando passiamo lo stesso numero che è 10 e 20.

Eh, il risultato che abbiamo ottenuto qui non è desiderato 30. Ricorda String [] args, ogni input che prendi dalla console è rappresentato in String. Quindi qui dobbiamo convertire quelle stringhe in Integer per calcolare l'addizione.

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 ('Addizione di due numeri' + args [0] + '+' + args [1] + 'is' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}

Produzione

Ora l'output desiderato è quello che vogliamo. Questa è l'aggiunta di 10 e 20 è 30 dopo averlo analizzato da String a Integer.

connettività database in java con mysql

Avanti in questo articolo sull'aggiunta di due numeri in Java

Metodo 2

  1. Utilizzo dell'operatore di sottrazione: Possiamo usare la sottrazione per aggiungere due numeri in modo tale che neghi il valore negativo e venga quindi aggiunto.

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

Avanti in questo articolo sull'aggiunta di due numeri in Java

Operatore unario ripetuto

Ciò implica il ciclo while, l'idea di base alla base di questo è portare il valore del primo operando a zero. E per continuare ad aumentare il suo secondo operando corrispondente della stessa quantità di iterazioni. Considera tu stesso l'esempio seguente.

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) return b}}

Ouput

$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld aggiungi 30 aggiungi 10

Avanti in questo articolo sull'aggiunta di due numeri in Java

Operatore Bitwise e Bitshift in Java

Possiamo anche fare l'addizione di due numeri interi usando l'operatore XOR bit per bit e il carry può essere ottenuto dall'operatore AND. Per aggiungere il riporto alla somma dobbiamo usare l'operatore di spostamento a sinistra con segno. Come avviene questo? Vediamo prima un esempio.

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 } }

Produzione

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Aggiunta utilizzando + ve 30

Aggiunta utilizzando -ve 10

Ricorda sempre che l'operazione XOR viene utilizzata per valutare l'aggiunta di due bit. L'operazione AND viene utilizzata per valutare il trasporto di due bit. Analizziamo questo, vero? Andando per i valori di input prendiamo a = 10 eb = 20 per la prima condizione.

Operazione

Valutazione dell'espressione

Equivalente binario

Valore decimale

per

10

00001010

10

b

venti

00010100

venti

mentre (b! = 0)

vero

int carry = (a & b)

10 e 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = carry<< 1

0<< 1

0

0

restituire a

30

00011110

30

Ora, prendiamo un input negativo diciamo -10 per a. Esaminiamo cosa succede nella tabella sottostante.Questo ci lascia in loop fino a quando il valore decimale di carry diventa negativo.

Avanti in questo articolo sull'aggiunta di due numeri in Java

Tabella del ciclo iniziale

Operazione

Valutazione dell'espressione

Equivalente binario

Valore decimale

per

-10

11110110

-10

b

venti

00010100

venti

mentre (b! = 0)

vero

int carry = (a & b)

-10 e 20

00010100

venti

a = a ^ b

ssis tutorial per principianti 2012 con esempi

-10 ^ 20

11100010

-30

b = carry<< 1

venti<< 1

00101000

40

Loop 1.

Operazione

Valutazione dell'espressione

Equivalente binario

Valore decimale

per

-30

11100010

-30

b

40

00101000

40

mentre (b! = 0)

vero

int carry = (a & b)

-30 e 40

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = carry<< 1

32<< 1

00101000

64

E così via & hellip until loop risulta essere b = 0 per brevità non tutti i risultati sono mostrati qui. Quindi la tabella sottostante rappresenta l'ultimo ciclo di questa operazione.

Operazione

Valutazione dell'espressione

Equivalente binario

Valore decimale

per

-2147483638

111111111111111111111111111110000000000000000000000000001010

-2147483638

b

-2147483648

111111111111111111111111111110000000000000000000000000000000

-2147483648

mentre (b! = 0)

vero

int carry = (a & b)

-2147483638 e -2147483648

111111111111111111111111111110000000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10

b = carry<< 1

-2147483648<< 1

0

0

restituire a

10

00001010

10

Ecco come è stata calcolata l'aggiunta. Phew! tanto per il pensiero. Basti pensare se questo calcolo è stato fatto manualmente da esseri umani, principalmente calcoli binari.

Avanti in questo articolo sull'aggiunta di due numeri in Java

Ricorsione

Possiamo anche scrivere il programma precedente usando anche la ricorsione. La parte del calcolo è leggermente diversa, consideriamola come compito a casa, vero? Darò qui l'estratto per la ricorsione e proverai a costruire la tua tabella in modo da sapere come funziona internamente. Inoltre, non c'è bisogno di rubare tutto ciò che è solo a scopo di rappresentazione a meno che tu non sia entusiasta dei meccanismi interni qui.

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

Questo era tutto per l'aggiunta di due numeri in Java utilizzando l'operatore + e senza utilizzare l'operatore +. Il motivo per scegliere uno di questi dipenderà interamente dalle necessità e dai requisiti del progetto.

Non ho valutato e testato il funzionamento di entrambi gli scenari per ottenere le prestazioni. Immagino che entrerà in vigore solo se stai costruendo il razzo e lo consegnerai nello spazio.

Ho spiegato solo i numeri relativi agli interi per brevità che ha un proprio limite di memoria. Lascio a te la possibilità di esplorare ulteriormente usando float, double, ecc. Ricorda sempre che se superi il valore limite dei tipi primitivi, il risultato mostrerà una risposta diversa.

Controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Siamo qui per aiutarti in ogni fase del tuo viaggio, per diventare il tuo migliore, elaboriamo un curriculum progettato per studenti e professionisti che vogliono essere uno sviluppatore Java.