Jak implementovat přidání dvou čísel v Javě?



V tomto článku vám představím jednoduchý, ale důležitý koncept, který spočívá v přidání dvou čísel v Javě s ukázkou.

V tomto článku vám představím jednoduchý, ale důležitý koncept, který spočívá v přidání dvou čísel v Javě. Než se ale vydáte dál, doporučuji vám seznámit se s „Co je Java“, funkcemi Javy a jak si můžete nainstalovat Javu do svého systému, kterou najdete v předchozích . To vám pomůže rychle a snadno uchopit nadcházející koncepty. Ostatní blogy v této sérii výukových programů Java napsané naším odborníci se budou podrobně věnovat všem důležitým tématům Java a J2EE,

V tomto článku se budeme zabývat následujícími ukazateli,





Pojďme tedy začít,

Přidání dvou čísel v Javě

Metoda 1

Pojďme to pochopit přímo vytvořením programu v Javě pro tisk „Přidání dvou čísel“ na obrazovku.



Třída AddTwoNumbers {public static void main (String [] args) {System.out.println („Přidání dvou čísel 10 + 20 je“ + (10 + 20))}}

Výstup

Výstup - Přidejte dvě čísla v Javě - Edureka

Musíme to pochopit tak, že zde jsou čísla přidávána přímo, řekněme 10 + 20, což je 30. Ale co dostaneme čísla z konzoly. V takovém případě budou hodnoty uloženy v proměnné. Pokud jde o Javu, proměnná String array uloží tato čísla na základě jejich 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 pro toto bude, jak je znázorněno v konzole, když předáme stejné číslo, které je 10 a 20.

Výsledek, který jsme zde dostali, není žádoucí 30. Pamatujte si String [] args, každý vstup, který si vezmete z konzoly, je zastoupen v String. Takže tady musíme převést tyto řetězce na celé číslo, abychom vypočítali sčítání.

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čítání dvou čísel' + args [0] + '+' + args [1] + 'je' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}

Výstup

Požadovaný výstup je nyní to, co chceme. To je přidání 10 a 20 je 30 poté, co jsme jej analyzovali z řetězce na celé číslo.

Dále v tomto článku o Sčítání dvou čísel v Javě

Metoda 2

  1. Pomocí operátoru Odčítání: Můžeme použít odčítání k přidání dvou čísel tak, že bude negovat zápornou hodnotu a bude výsledkem sčítání.

veřejná třída 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 (přidat (-10, 20))}}

Ouput

30

10

fibonacciho rekurze c ++

Dále v tomto článku o Sčítání dvou čísel v Javě

Opakovaný unární operátor

Jedná se o smyčku while, základní myšlenkou je přivést hodnotu prvního operandu na nulu. A neustále zvyšovat odpovídající druhý operand o stejné množství iterací. Zvažte níže uvedený příklad sami.

veřejná třída 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átit b}}

Ouput

$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld přidat 30 přidat 10

Dále v tomto článku o Sčítání dvou čísel v Javě

Bitový operátor a bitový posun v Javě

Můžeme také provést přidání dvou celých čísel pomocí bitového operátoru XOR a carry lze získat operátorem AND. Chcete-li přidat přenos do součtu, musíme použít podepsaný operátor posunu vlevo. Jak se to stane? Nejprve se podívejme na příklad.

veřejná třída HelloWorld {public static void main (String [] args) {System.out.println ('Add 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 } }

Výstup

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Sčítání pomocí + ve 30

Přidání pomocí -ve 10

Vždy si pamatujte, že operace XOR se používá k vyhodnocení přidání dvou bitů. Operace AND se používá k vyhodnocení přenosu dvou bitů. Pojďme to rozebrat, že? Pokud jde o vstupní hodnoty, vezmeme a = 10 a b = 20 pro první podmínku.

Úkon

Vyhodnocení výrazu

Binární ekvivalent

Desetinná hodnota

na

10

00001010

10

b

dvacet

00010100

dvacet

while (b! = 0)

skutečný

int carry = (a & b)

10 a 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = nést<< 1

0<< 1

0

0

vrátit a

30

00011110

30

Nyní si vezmeme záporný vstup, řekněme -10. Podívejme se, co se stane v tabulce níže.To nám umožňuje smyčku, dokud se desetinná hodnota přenosu nedostane do záporných hodnot.

Dále v tomto článku o Sčítání dvou čísel v Javě

Tabulka počáteční smyčky

Úkon

Vyhodnocení výrazu

Binární ekvivalent

Desetinná hodnota

na

-10

11110110

-10

b

dvacet

00010100

dvacet

while (b! = 0)

skutečný

int carry = (a & b)

-10 a 20

00010100

dvacet

a = a ^ b

-10 ^ 20

11100010

-30

b = nést<< 1

dvacet<< 1

00101000

40

Smyčka 1.

Úkon

Vyhodnocení výrazu

Binární ekvivalent

Desetinná hodnota

na

-30

11100010

-30

b

40

00101000

40

while (b! = 0)

skutečný

int carry = (a & b)

-30 a 40

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = nést<< 1

32<< 1

co je klíčová chyba

00101000

64

A tak dále a hellip, dokud se smyčka neukáže jako b = 0 pro stručnost, zde se nezobrazí všechny výsledky. Níže uvedená tabulka tedy představuje poslední smyčku v této operaci.

Úkon

Vyhodnocení výrazu

Binární ekvivalent

Desetinná hodnota

na

-2147483638

1111111111111111111111111111110000000000000000000000000001010

-2147483638

b

-2147483648

11111111111111111111111111111100000000000000000000000000000

-2147483648

while (b! = 0)

skutečný

int carry = (a & b)

-2147483638 a -2147483648

11111111111111111111111111111100000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10

b = nést<< 1

-2147483648<< 1

0

0

vrátit a

10

00001010

10

Takto se vypočítal přírůstek. Uf! tolik k té myšlence. Jen si pomyslete, jestli tento výpočet provedli lidé ručně, hlavně binární výpočty.

Dále v tomto článku o Sčítání dvou čísel v Javě

Rekurze

Můžeme také napsat výše uvedený program pomocí rekurze. Část pro výpočet se mírně liší, pojďme to zvážit pro domácí úkoly, že? Zde uvedu extrakt pro rekurzi a pokusíte se vytvořit vlastní tabulku, abyste věděli, jak to funguje interně. Také není třeba tohle všechno hrnek, který slouží pouze pro reprezentaci, pokud zde nejste nadšení interním fungováním.

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 bylo vše pro přidání dvou čísel v Javě s použitím operátoru + a bez použití operátoru +. Důvod, proč jít za kterýmkoli z nich, bude zcela záviset na potřebě a požadavku projektu.

Nehodnotil jsem a otestoval fungování obou scénářů, abych přišel s výkonem. Myslím, že to vstoupí v platnost, pouze pokud budujete raketu a dodáváte ji do vesmíru.

Vysvětlil jsem pouze čísla týkající se celých čísel pro stručnost, která má svůj vlastní limit paměti. Nechám na vás, abyste dále prozkoumali použití float, double atd. Vždy pamatujte, že pokud překročíte mezní hodnotu primitivních typů, výsledek zobrazí jinou odpověď.

Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Jsme tu, abychom vám pomohli s každým krokem na vaší cestě. Abychom se stali nejlepšími, vymyslíme učební plán určený pro studenty a profesionály, kteří chtějí být vývojářem Java.