Како имплементирати сабирање два броја у Јави?



У овом чланку ћемо вас упознати са једноставним, али важним концептом, који представља додавање два броја у Јави са демонстрацијом.

У овом чланку упознаћу вас са једноставним, али важним концептом који је сабирање два броја у Јави. Али пре него што кренете напред, предложио бих вам да се упознате са „Шта је Јава“, карактеристикама Јава-а и како можете инсталирати Јава на свој систем, што сте могли пронаћи у претходном . Ово ће вам помоћи да брзо и лако зграбите надолазеће концепте. Остале блогове у овој серији Јава лекција написао је наш стручњаци ће детаљно покрити све важне теме Јава и Ј2ЕЕ,

Следећи смерници ће бити обрађени у овом чланку,





Па кренимо онда,

Сабирање два броја у Јави

Метод 1

Хајде да схватимо директно развојем програма на Јави за испис „Збрајања два броја“ на екрану.



Класа АддТвоНумберс {публиц статиц воид маин (Стринг [] аргс) {Систем.оут.принтлн („Додавање два броја 10 + 20 је“ + (10 + 20))}}

Оутпут

Излаз - додајте два броја у Јави - Едурека

Морамо то схватити, овде се бројеви додају директно рецимо 10 + 20 то је 30. Али оно што добијамо бројевима из конзоле. У том случају вредности ће бити сачуване у променљивој. У погледу Јаве, променљива низа Стринг чуваће те бројеве на основу њиховог индекса.



јавна класа Маин {публиц статиц воид маин (Стринг [] аргс) {Систем.оут.принтлн ('Сабирање два броја' + аргс [0] + '+' + аргс [1] + 'ис' + (аргс [0 ] + аргументи [1]))}}

Излаз за ово биће као што је приказано у Конзоли када проследимо исти број који је 10 и 20.

Ех, резултат који смо овде добили није жељен 30. Запамтите аргументе Стринг [], сваки унос који унесете са конзоле представљен је у Стрингу. Дакле, овде морамо претворити те низове у Интегер да бисмо израчунали сабирање.

јавна класа Маин {публиц статиц воид маин (Стринг [] аргс) {//Систем.оут.принтлн('Додавање два броја '+ аргс [0] +' + '+ аргс [1] +' ис '+ (аргс [0] + аргс [1])) Систем.оут.принтлн ('Сабирање два броја' + аргс [0] + '+' + аргс [1] + 'је' + (Интегер.парсеИнт (аргс [0] ) + Интегер.парсеИнт (аргс [1])))}}

Оутпут

Сада је жељени излаз оно што желимо. То је додавање 10 и 20 је 30 након што смо га рашчланили из Стринга у Интегер.

Следеће у овом чланку о Сабирању два броја у Јави

Метод 2

  1. Коришћење оператора одузимања: Одузимањем можемо да додамо два броја таква да ће негирати негативну вредност и тако резултирати сабирањем.

јавна класа АддТвоНумберс {публиц статиц инт адд (инт а, инт б) {ретурн а - (-б)} публиц статиц воид маин (Стринг [] аргс) {Систем.оут.принтлн (адд (10, 20)) Систем. оут.принтлн (додај (-10, 20))}}

Оупут

30

10

Следеће у овом чланку о Сабирању два броја у Јави

Поновљени Унарни оператер

То укључује вхиле петљу, основна идеја која стоји иза тога је довести вредност првог операнда на нулу. И да настави да подстиче одговарајући други операнд за исту количину понављања. Сами размотрите доњи пример.

јавна класа ХеллоВорлд {публиц статиц воид маин (Стринг [] аргс) {Систем.оут.принтлн ('адд' + адд (10, 20)) Систем.оут.принтлн ('адд' + адд (-10, 20)) } јавни статички инт додај (инт а, инт б) {//Систем.оут.принтлн ('--->' + а + ':' + б) док (а> 0) {//Систем.оут.принтлн ('вхиле а> 0 --->' + а + ':' + б) б ++ а--} вхиле (а<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ а +': '+ б) повратак б}}

Оупут

$ јавац ХеллоВорлд.јава $ јава -Ксмк128М -Ксмс16М ХеллоВорлд додај 30 додај 10

Следеће у овом чланку о Сабирању два броја у Јави

Бит-ов и Битсхифт оператор у Јави

Такође можемо извршити сабирање две целобројне вредности помоћу КСОР битног оператора, а пренос може добити оператер АНД. Да бисмо зброј пренели у зброј, морамо користити потписани оператор леве смене. Како се ово дешава? Погледајмо прво пример.

јавна класа ХеллоВорлд {јавна статичка воид главна (Стринг [] аргс) {Систем.оут.принтлн ('Додатак помоћу + ве' + аддУсингБитс (10, 20)) Систем.оут.принтлн ('Додавање помоћу -ве' + аддУсингБитс ( -10, 20))} јавни статички инт аддУсингБитс (инт а, инт б) {вхиле (б! = 0) {инт царри = (а & б) а = а ^ бб = царри<< 1 } return a } }

Оутпут

$ јавац ХеллоВорлд.јава

$ јава -Ксмк128М -Ксмс16М ХеллоВорлд

Сабирање помоћу + ве 30

Сабирање помоћу -ве 10

Увек имајте на уму да се КСОР операција користи за процену сабирања два бита. Операција АНД се користи за процену ношења два бита. Хајде да сецирамо ово? Идући према улазним вредностима, узмимо а = 10 и б = 20 за први услов.

Операција

Процена израза

Бинарни еквивалент

Децимална вредност

до

10

00001010

10

б

двадесет

00010100

шта је сериализација у јави

двадесет

док (б! = 0)

истина

инт царри = (а & б)

10 и 20

0

0

а = а ^ б

10 ^ 20

00011110

30

б = носити<< 1

0<< 1

0

0

повратак а

30

00011110

30

Узмимо сада негативан инпут рецимо -10 за а. Испитајмо шта се дешава за доњом табелом.Ово нам омогућава петљу док децимална вредност преноса не постане негативна.

Следеће у овом чланку о Сабирању два броја у Јави

Табела почетне петље

Операција

Процена израза

Бинарни еквивалент

Децимална вредност

до

-10

11110110

-10

б

двадесет

00010100

двадесет

док (б! = 0)

истина

инт царри = (а & б)

-10 и 20

00010100

двадесет

а = а ^ б

-10 ^ 20

11100010

-30

б = носити<< 1

двадесет<< 1

00101000

40

Петља 1.

Операција

Процена израза

Бинарни еквивалент

Децимална вредност

до

-30

11100010

-30

б

40

00101000

40

док (б! = 0)

истина

инт царри = (а & б)

-30 и 40

00100000

32

а = а ^ б

-30 ^ 40

11001010

-54

б = носити<< 1

32<< 1

00101000

64

И тако даље & хеллип док се петља не покаже б = 0 за краткоћу, овде нису приказани сви резултати. Дакле, доња табела представља последњу петљу у овој операцији.

Операција

како отворити авс цли

Процена израза

Бинарни еквивалент

Децимална вредност

до

-2147483638

1111111111111111111111111111100000000000000000000000000000001010

-2147483638

б

-2147483648

11111111111111111111111111111110000000000000000000000000000000

-2147483648

док (б! = 0)

истина

инт царри = (а & б)

-2147483638 & -2147483648

11111111111111111111111111111110000000000000000000000000000000

-2147483648

а = а ^ б

-2147483638 ^ -2147483648

00001010

10

б = носити<< 1

-2147483648<< 1

0

0

повратак а

10

00001010

10

Дакле, тако је израчунато сабирање. Фуј! толико о помисли. Само помислите да ли су људи ову калкулацију радили ручно, углавном бинарне калкулације.

Следеће у овом чланку о Сабирању два броја у Јави

Рекурзија

Такође можемо да напишемо горњи програм користећи и рекурзију. Део за израчунавање се мало разликује. Хајде да размотримо ово за домаћи задатак. Овде ћу дати извод за рекурзију, а ви покушајте да направите сопствену табелу тако да знате како то интерно функционише. Такође, нема потребе да пљачкате све ово што је само у сврху представљања, осим ако сте овде узбуђени због унутрашњег рада.

јавни статички инт аддУсингРецурсион (инт а, инт б) {иф (б == 0) врати инт суму = а ^ б инт царри = (а & б)<< 1 return add(sum, carry) }

Све ово било је за додавање два броја у Јави помоћу + оператора и без употребе + оператора. Разлог изазивања било којег од ових разлога у потпуности ће зависити од потребе и захтева пројекта.

Нисам оценио и тестирао рад оба сценарија да бих постигао перформансе. Претпостављам да ће то ступити на снагу само ако градите ракету и испоручите је у свемир.

Објаснио сам само бројеве који се односе на Интегерс за краткоћу који имају своје ограничење меморије. Остављам вам да даље истражујете користећи флоат, доубле, итд. Увек имајте на уму да ако премашите граничну вредност примитивних типова, резултат ће показати другачији одговор.

Погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Овде смо да вам помогнемо у сваком кораку на вашем путу, како бисмо постали најбољи, осмислили смо наставни план и програм који је дизајниран за студенте и професионалце који желе да буду програмери Јава.