Kuinka toteuttaa kahden numeron lisäys Java-ohjelmassa?



Tässä artikkelissa esitellään yksinkertainen mutta tärkeä käsite, joka on kahden numeron lisääminen Java-ohjelmassa esittelyllä.

Tässä artikkelissa aion esitellä sinulle yksinkertaisen mutta tärkeän käsitteen, joka on kahden numeron lisääminen Java-muodossa. Mutta ennen eteenpäin siirtämistä suosittelen, että tutustut 'Mikä on Java' -ominaisuuteen, Java-ominaisuuksiin ja miten voit asentaa Java-järjestelmäsi, jonka löydät edellisestä . Tämä auttaa sinua tarttumaan tuleviin käsitteisiin nopeasti ja helposti. Muut tämän Java-opetusohjelman blogit ovat kirjoittaneet asiantuntijat käsittelevät kaikki Java ja J2EE: n tärkeät aiheet perusteellisesti,

Seuraavat vihjeet käsitellään tässä artikkelissa,





Joten aloitetaan sitten,

Kahden Java-numeron lisääminen

Menetelmä 1

Ymmärretään suoraan kehittämällä Java-ohjelma tulostamaan “Kahden numeron lisäys” ruudulle.



Class AddTwoNumbers {public static void main (String [] args) {System.out.println ('Kahden numeron 10 + 20 lisääminen on' + (10 + 20))}}

Tuotos

Tulos - Lisää kaksi numeroa Java - Edureka

Meidän on ymmärrettävä tämä, että tässä lisätään numerot suoraan sanoen 10 + 20 eli 30. Mutta mitä saamme numeroita konsolista. Siinä tapauksessa arvot tallennetaan muuttujaan. Javan suhteen String-matriisimuuttuja tallentaa nämä numerot hakemistonsa perusteella.



public class Main {public static void main (String [] args) {System.out.println ('Kahden numeron lisääminen' + args [0] + '+' + args [1] + 'is' + (args [0 ] + argumentit [1]))}}

Tämän tulos on sama kuin konsolissa, kun välitämme saman numeron, joka on 10 ja 20.

Eh, tulosta, jonka saimme täällä, ei toivota. 30. Muista String [] argumentit, jokainen konsolilta saamasi syöte on esitetty Stringissä. Joten tässä meidän on muunnettava nämä merkkijonot kokonaislukuksi lisäyksen laskemiseksi.

public class Main {public static void main (String [] args) {//System.out.println('Lisäksi kaksi numeroa '+ args [0] +' + '+ args [1] +' on '+ (args [0] + args [1])) System.out.println ('Kahden numeron lisäys' + args [0] + '+' + args [1] + 'on' + (Integer.parseInt (args [0]) ) + Kokonaisluku.parseInt (argumentit [1])))}}

Tuotos

Nyt haluttu tulos on mitä haluamme. Se on 10: n ja 20: n lisäys 30, kun olemme jäsentäneet sen merkkijonosta kokonaislukuun.

Seuraava tässä artikkelissa kahden numeron lisääminen Javassa

Menetelmä 2

  1. Vähennysoperaattorin käyttö: Voimme vähentää vähentämällä lisätä kaksi lukua siten, että se hylkää negatiivisen arvon ja tulee siten yhteen.

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

Ouput

30

10

Seuraava tässä artikkelissa kahden numeron lisääminen Javassa

Toistuva unary-operaattori

Tähän liittyy silmukka, mutta sen perusajatuksena on tuoda ensimmäisen operandin arvo nollaan. Ja jatkaa vastaavan toisen operandinsa lisäämistä samalla määrällä iteraatioita. Harkitse alla olevaa esimerkkiä itse.

public class HelloWorld {public static void main (String [] args) {System.out.println ('add' + add (10, 20)) System.out.println ('add' + add (-10, 20)) } public staattinen int add (int a, int b) {//System.out.println ('--->' + a + ':' + b) while (a> 0) {//System.out.println ('kun a> 0 --->' + a + ':' + b) b ++ a--} kun (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) palaa b}}

Ouput

$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld lisää 30 lisää 10

Seuraava tässä artikkelissa kahden numeron lisääminen Javassa

Bittinopeudella ja Bitshift-operaattori Javalla

Voimme myös lisätä kahden kokonaisluvun käyttämällä XOR-bittinopeusoperaattoria, ja operaattori voi saada siirron. Lisätäkseen siirtosummaksi meidän on käytettävä allekirjoitettua vasemman vuoron operaattoria. Kuinka tämä tapahtuu? Katsotaan ensin esimerkki.

public class HelloWorld {public static void main (String [] args) {System.out.println ('Lisäys käyttäen + ve' + addUsingBits (10, 20)) System.out.println ('Lisäys käyttämällä -ve' + addUsingBits ( -10, 20))} public staattinen int addUsingBits (int a, int b) {while (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }

Tuotos

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Lisäys painamalla + ve 30

Lisäys -ve 10: llä

Muista aina, että XOR-operaatiota käytetään kahden bitin lisäyksen arvioimiseen. AND-operaatiota käytetään kahden bitin siirron arvioimiseen. Eritetäänkö tämä? Syöttöarvojen ohi otetaan a = 10 ja b = 20 ensimmäiselle ehdolle.

Operaatio

Ilmaisun arviointi

varastoluokat c ++: ssa

Binaariekvivalentti

Desimaaliarvo

että

10

00001010

10

b

kaksikymmentä

00010100

kaksikymmentä

kun (b! = 0)

totta

int kuljettaa = (a & b)

10 ja 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = kantaa<< 1

0<< 1

0

0

palauta a

30

00011110

30

Otetaan nyt negatiivinen syöte, esimerkiksi a-arvo. Tarkastellaan, mitä tapahtuu alla olevassa taulukossa.Tämä antaa meille mahdollisuuden mennä silmukkaan, kunnes kantojen desimaaliarvo tulee negatiiviseksi.

Seuraava tässä artikkelissa kahden numeron lisääminen Javassa

Alkuperäinen silmukkataulukko

Operaatio

Ilmaisun arviointi

Binaariekvivalentti

Desimaaliarvo

että

-10

11110110

-10

b

kaksikymmentä

00010100

kaksikymmentä

kun (b! = 0)

totta

int kuljettaa = (a & b)

-10 ja 20

00010100

kaksikymmentä

a = a ^ b

-10 ^ 20

11100010

-30

b = kantaa<< 1

kaksikymmentä<< 1

00101000

40

Silmukka 1.

Operaatio

Ilmaisun arviointi

Binaariekvivalentti

Desimaaliarvo

että

-30

11100010

-30

b

40

00101000

40

kun (b! = 0)

totta

int kuljettaa = (a & b)

-30 ja 40

mikä on puskuroitu lukija java

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = kantaa<< 1

32<< 1

00101000

64

Ja niin edelleen & hellip, kunnes silmukka osoittautuu b = 0 lyhyeksi, kaikkia tuloksia ei näytetä tässä. Joten alla oleva taulukko edustaa tämän toiminnon viimeistä silmukkaa.

Operaatio

Ilmaisun arviointi

Binaariekvivalentti

Desimaaliarvo

että

-2147483638

1111111111111111111111111111100100000000000000000000000000000001010

-2147483638

b

-2147483648

1111111111111111111111111111100100000000000000000000000000000000000

-2147483648

kun (b! = 0)

totta

int kuljettaa = (a & b)

-2147483638 & -2147483648

1111111111111111111111111111100100000000000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10

b = kantaa<< 1

-2147483648<< 1

0

0

palauta a

10

00001010

10

Joten lisäys laskettiin. Huh huh! niin paljon ajatuksesta. Ajatelkaapa, jos ihmiset tekivät tämän laskelman manuaalisesti, lähinnä binäärilaskelmia.

Seuraava tässä artikkelissa kahden numeron lisääminen Javassa

Rekursio

Voimme myös kirjoittaa yllä olevan ohjelman käyttämällä rekursiota. Laskentaosa eroaa hieman, joten ota huomioon tämä kotitehtävissä. Annan otteen rekursiota varten ja yrität rakentaa oman pöydän niin, että tiedät, miten se toimii sisäisesti. Sinun ei myöskään tarvitse myydä tätä kaikkea vain edustustarkoituksessa, ellet ole innoissaan sisäisestä toiminnasta täällä.

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

Tämä kaikki liittyi kahden numeron lisäämiseen Java-käyttöjärjestelmässä käyttäen + operaattoria ja käyttämättä + operaattoria. Kummankin menemisen syy riippuu kokonaan projektin tarpeesta ja vaatimuksesta.

En ole arvioinut ja testannut molempien skenaarioiden toimintaa suorituskyvyn keksimiseksi. Luulen, että se tulee voimaan vain, jos rakennat rakettia ja toimitat sen avaruuteen.

Olen selittänyt vain luvut, jotka liittyvät kokonaislukuihin lyhyyden vuoksi, jolla on oma muistiraja. Jätän teille mahdollisuuden tutkia edelleen float-, double- jne. Käyttöä. Muista aina, että jos ylität primitiivisten tyyppien raja-arvon, tulos näyttää erilaisen vastauksen.

Katso Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Autamme sinua matkasi jokaisessa vaiheessa, jotta sinusta tulisi paras. Esittelemme opetussuunnitelman, joka on tarkoitettu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä.