Wie implementiere ich das Hinzufügen von zwei Zahlen in Java?



In diesem Artikel werden Sie in ein einfaches, aber wichtiges Konzept eingeführt, bei dem zwei Zahlen in Java mit Demonstration hinzugefügt werden.

In diesem Artikel werde ich Ihnen ein einfaches, aber wichtiges Konzept vorstellen, bei dem zwei Zahlen in Java hinzugefügt werden. Bevor Sie fortfahren, sollten Sie sich mit „Was ist Java?“, Den Funktionen von Java und der Installation von Java auf Ihrem System vertraut machen, die Sie in den vorherigen Abschnitten finden . Auf diese Weise können Sie die kommenden Konzepte schnell und einfach erfassen. Die anderen Blogs in dieser Java-Tutorial-Reihe wurden von unserem Experten werden alle wichtigen Themen von Java & J2EE ausführlich behandeln.

Die folgenden Hinweise werden in diesem Artikel behandelt:





Also fangen wir an,

Hinzufügen von zwei Zahlen in Java

Methode 1

Lassen Sie uns dies direkt verstehen, indem Sie ein Programm in Java entwickeln, mit dem 'Addition von zwei Zahlen' auf dem Bildschirm gedruckt wird.



Klasse AddTwoNumbers {public static void main (String [] args) {System.out.println ('Addition von zwei Zahlen 10 + 20 ist' + (10 + 20))}}

Ausgabe

Ausgabe - Fügen Sie zwei Zahlen in Java hinzu - Edureka

Wir müssen verstehen, dass hier Zahlen direkt hinzugefügt werden, sagen 10 + 20, das ist 30. Aber was wir Zahlen von der Konsole bekommen. In diesem Fall werden die Werte in einer Variablen gespeichert. In Bezug auf Java speichert die String-Array-Variable diese Zahlen basierend auf ihrem Index.



public class Main {public statisch void main (String [] args) {System.out.println ('Addition von zwei Zahlen' + args [0] + '+' + args [1] + 'ist' + (args [0 ] + args [1]))}}

Die Ausgabe hierfür erfolgt wie in der Konsole gezeigt, wenn die gleiche Zahl wie 10 und 20 übergeben wird.

Das Ergebnis, das wir hier erhalten haben, ist nicht erwünscht. Hier müssen wir also diese Strings in Integer konvertieren, um die Addition zu berechnen.

public class Main {public statisch void main (String [] args) {//System.out.println('Zusatz von zwei Zahlen '+ args [0] +' + '+ args [1] +' ist '+ (args [0] + args [1])) System.out.println ('Addition von zwei Zahlen' + args [0] + '+' + args [1] + 'ist' + (Integer.parseInt (args [0]) ) + Integer.parseInt (args [1])))}}

Ausgabe

Jetzt ist die gewünschte Ausgabe das, was wir wollen. Das ist die Addition von 10 und 20 ist 30, nachdem wir es von String zu Integer analysiert haben.

Weiter in diesem Artikel über das Hinzufügen von zwei Zahlen in Java

Methode 2

  1. Verwenden des Subtraktionsoperators: Wir können die Subtraktion verwenden, um zwei Zahlen so zu addieren, dass sie den negativen Wert negieren und somit zu einer Addition führen.

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

Ausgabe

30

10

Weiter in diesem Artikel über das Hinzufügen von zwei Zahlen in Java

Wiederholter unärer Operator

Dies beinhaltet eine while-Schleife. Die Grundidee dahinter besteht darin, den Wert des ersten Operanden auf Null zu bringen. Und um den entsprechenden zweiten Operanden um die gleiche Anzahl von Iterationen weiter zu erhöhen. Betrachten Sie das folgende Beispiel selbst.

öffentliche Klasse 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) während (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}}

Ausgabe

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

Weiter in diesem Artikel über das Hinzufügen von zwei Zahlen in Java

Bitweiser und Bitshift-Operator in Java

Wir können auch zwei ganze Zahlen addieren, indem wir den bitweisen XOR-Operator verwenden, und der Übertrag kann durch den AND-Operator erhalten werden. Um den Carry in die Summe zu addieren, müssen wir einen vorzeichenbehafteten Linksschichtoperator verwenden. Wie passiert das? Schauen wir uns zunächst ein Beispiel an.

öffentliche Klasse HelloWorld {public static void main (String [] args) {System.out.println ('Addition mit + ve' + addUsingBits (10, 20)) System.out.println ('Addition mit -ve' + addUsingBits ( -10, 20))} public static int addUsingBits (int a, int b) {while (b! = 0) {int Übertrag = (a & b) a = a ^ bb = Übertrag<< 1 } return a } }

Ausgabe

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Zugabe mit + ve 30

Zugabe mit -ve 10

Denken Sie immer daran, dass die XOR-Operation verwendet wird, um die Addition von zwei Bits auszuwerten. Die UND-Verknüpfung wird verwendet, um den Übertrag von zwei Bits auszuwerten. Lassen Sie uns dies analysieren. Nehmen wir die Eingabewerte und nehmen wir für die erste Bedingung a = 10 und b = 20.

Operation

Expressionsbewertung

Binäres Äquivalent

Dezimalwert

zu

10

final vs finally vs finalize

00001010

10

b

zwanzig

00010100

zwanzig

während (b! = 0)

wahr

int Carry = (a & b)

10 & 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = tragen<< 1

0<< 1

0

0

Rückgabe a

30

00011110

30

Nehmen wir nun einen negativen Eingang, sagen wir -10 für a. Lassen Sie uns untersuchen, was in der folgenden Tabelle passiert.Dies lässt uns in einer Schleife, bis der Dezimalwert des Übertrags negativ wird.

Weiter in diesem Artikel über das Hinzufügen von zwei Zahlen in Java

Anfangsschleifentabelle

Operation

Expressionsbewertung

Binäres Äquivalent

Dezimalwert

zu

-10

11110110

-10

b

zwanzig

00010100

zwanzig

während (b! = 0)

wahr

int Carry = (a & b)

-10 & 20

00010100

zwanzig

a = a ^ b

-10 ^ 20

11100010

-30

b = tragen<< 1

wie man in Java double in integer konvertiert

zwanzig<< 1

00101000

40

Schleife 1.

Operation

Expressionsbewertung

Binäres Äquivalent

Dezimalwert

zu

-30

11100010

-30

b

40

00101000

40

während (b! = 0)

wahr

int Carry = (a & b)

-30 & 40

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = tragen<< 1

32<< 1

00101000

64

Und so weiter & hellip bis die Schleife der Kürze halber b = 0 ist, werden hier nicht alle Ergebnisse angezeigt. Die folgende Tabelle zeigt also die letzte Schleife in dieser Operation.

Operation

Expressionsbewertung

Binäres Äquivalent

Dezimalwert

zu

-2147483638

11111111111111111111111111111000000000000000000000000000001010

-2147483638

b

-2147483648

11111111111111111111111111111000000000000000000000000000000000

-2147483648

während (b! = 0)

wahr

int Carry = (a & b)

-2147483638 & -2147483648

11111111111111111111111111111000000000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10

b = tragen<< 1

-2147483648<< 1

0

0

Rückgabe a

10

00001010

10

So wurde die Addition berechnet. Puh! Soviel zum Gedanken. Stellen Sie sich vor, diese Berechnung wurde manuell von Menschen durchgeführt, hauptsächlich binäre Berechnungen.

Weiter in diesem Artikel über das Hinzufügen von zwei Zahlen in Java

Rekursion

Wir können das obige Programm auch mit Rekursion schreiben. Der Berechnungsteil unterscheidet sich geringfügig. Betrachten wir dies als Hausaufgabe für Sie. Ich werde den Auszug hier für die Rekursion geben und Sie versuchen, Ihre eigene Tabelle zu erstellen, damit Sie wissen, wie es intern funktioniert. Es ist auch nicht nötig, all dies zu überfallen, was nur zu Repräsentationszwecken dient, es sei denn, Sie sind begeistert von internen Abläufen hier.

public static int addUsingRecursion (int a, int b) {if (b == 0) gibt eine int sum = a ^ b zurück int Carry = (a & b)<< 1 return add(sum, carry) }

Dies war alles für das Hinzufügen von zwei Zahlen in Java mit dem Operator + und ohne den Operator +. Der Grund für diese Entscheidung hängt ganz von den Anforderungen und Anforderungen des Projekts ab.

Ich habe die Funktionsweise beider Szenarien nicht bewertet und getestet, um eine Leistung zu erzielen. Ich denke, das wird nur wirksam, wenn Sie die Rakete bauen und in den Weltraum bringen.

Ich habe der Kürze halber nur Zahlen erklärt, die sich auf Ganzzahlen beziehen und eine eigene Speichergrenze haben. Ich überlasse es Ihnen, mit float, double usw. weiter zu erforschen. Denken Sie immer daran, dass das Ergebnis eine andere Antwort zeigt, wenn Sie den Grenzwert primitiver Typen überschreiten.

Besuche die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Wir sind hier, um Ihnen bei jedem Schritt auf Ihrer Reise zu helfen. Um Ihr Bestes zu geben, haben wir einen Lehrplan entwickelt, der für Studenten und Fachleute konzipiert ist, die Java-Entwickler werden möchten.