Как да приложим добавянето на две числа в Java?



В тази статия ще ви запознаем с една проста, но важна концепция, която е добавяне на две числа в Java с демонстрация.

В тази статия ще ви запозная с една проста, но важна концепция, която е добавяне на две числа в Java. Но преди да продължите напред, бих ви предложил да се запознаете с „Какво е Java“, характеристиките на Java и как можете да инсталирате Java на вашата система, което можете да намерите в предишните . Това ще ви помогне бързо и лесно да вземете идващите концепции. Останалите блогове в тази поредица от уроци по Java, написани от нашия експертите ще обхванат задълбочено всички важни теми на Java и J2EE,

Следните указания ще бъдат обхванати в тази статия,





Нека започнем тогава,

Добавяне на две числа в Java

Метод 1

Нека разберем директно, като разработим програма в Java, за да отпечатаме „Добавяне на две числа“ на екрана.



Клас AddTwoNumbers {public static void main (String [] args) {System.out.println („Добавянето на две числа 10 + 20 е“ + (10 + 20))}}

Изход

Изход - Добавете две числа в Java - Edureka

Трябва да разберем това, че тук числата се добавят директно, казват 10 + 20, което е 30. Но това, което получаваме числа от конзолата. В този случай стойностите ще се съхраняват в променлива. По отношение на Java променливата String array ще съхранява тези числа въз основа на техния индекс.



публичен клас Main {public static void main (String [] args) {System.out.println ('Добавяне на две числа' + args [0] + '+' + args [1] + 'е' + (args [0 ] + аргументи [1]))}}

Резултатът за това ще бъде както е показано в конзолата, когато предадем едно и също число, което е 10 и 20.

Е, резултатът, който получихме тук, не е желан 30. Запомнете аргументите String [], всеки вход, който вземете от конзолата, е представен в String. Така че тук трябва да преобразуваме тези низове в цяло число, за да изчислим добавянето.

публичен клас Main {public static void main (String [] args) {//System.out.println('Добавяне на две числа '+ args [0] +' + '+ args [1] +' is '+ (args [0] + аргументи [1])) System.out.println ('Добавяне на две числа' + аргументи [0] + '+' + аргументи [1] + 'е' + (Integer.parseInt (аргументи [0] ) + Integer.parseInt (аргументи [1])))}}

Изход

Сега желаният изход е това, което искаме. Това е добавянето на 10 и 20 е 30, след като го анализираме от String към Integer.

Следва в тази статия за Добавяне на две числа в Java

Метод 2

  1. Използване на оператора за изваждане: Можем да използваме изваждане, за да добавим две числа, така че да се отрече отрицателната стойност и така да се получи добавяне.

публичен клас AddTwoNumbers {публичен статичен int add (int a, int b) {return a - (-b)} public static void main (String [] args) {System.out.println (add (10, 20)) System. out.println (добавяне (-10, 20))}}

Излизам

30

10

Следва в тази статия за Добавяне на две числа в Java

Повторен унар оператор

Това включва цикъл while, основната идея зад това е да доведе до нула стойността на първия операнд. И да продължи да инкриминира съответния му втори операнд със същото количество итерации. Разгледайте сами примера по-долу.

публичен клас HelloWorld {публична статична празнота main (String [] args) {System.out.println ('add' + add (10, 20)) System.out.println ('add' + add (-10, 20)) } публичен статичен int добавяне (int a, int b) {//System.out.println ('--->' + a + ':' + b) докато (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) връщане b}}

Излизам

$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld добавете 30 добавете 10

Следва в тази статия за Добавяне на две числа в Java

Побитов и оператор на Bitshift в Java

Можем също така да добавим две цели числа, като използваме XOR побитов оператор, а пренасянето може да бъде получено от оператора AND. За да добавим пренос в сума, трябва да използваме подписан ляв оператор за смяна. Как става това? Нека първо видим пример.

публичен клас HelloWorld {публична статична невалидна основна (String [] аргументи) {System.out.println ('Добавяне с помощта на + ve' + addUsingBits (10, 20)) System.out.println ('Добавяне с използване на -ve' + addUsingBits ( -10, 20))} публичен статичен int addUsingBits (int a, int b) {while (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }

Изход

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Добавяне с помощта на + ve 30

Добавяне с помощта на -ve 10

Винаги помнете, че операцията XOR се използва за оценка на добавяне на два бита. И операцията се използва за оценка на носенето на два бита. Нека да дисектираме това, нали? Като следваме входните стойности, нека вземем a = 10 и b = 20 за първо условие.

Операция

Оценка на израза

Двоичен еквивалент

Десетична стойност

да се

10

алгоритъм за сортиране на сливане c ++

00001010

10

б

двайсет

00010100

двайсет

докато (b! = 0)

вярно

int carry = (a & b)

10 и 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = пренасяне<< 1

0<< 1

0

0

връщане a

30

00011110

30

Сега, нека вземем отрицателен вход, да кажем -10 за a. Нека разгледаме какво се случва в таблицата по-долу.Това ни позволява да се придвижваме, докато десетичната стойност на пренасянето стане отрицателна.

Следва в тази статия за Добавяне на две числа в Java

Таблица на първоначалната линия

Операция

Оценка на израза

Двоичен еквивалент

Десетична стойност

да се

-10

11110110

-10

б

двайсет

00010100

двайсет

докато (b! = 0)

вярно

int carry = (a & b)

-10 и 20

00010100

двайсет

a = a ^ b

-10 ^ 20

11100010

-30

b = пренасяне<< 1

е-а и има-връзка в Java

двайсет<< 1

00101000

40

Цикъл 1.

Операция

Оценка на израза

Двоичен еквивалент

Десетична стойност

да се

-30

11100010

-30

б

40

00101000

40

докато (b! = 0)

вярно

int carry = (a & b)

-30 и 40

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = пренасяне<< 1

32<< 1

00101000

64

И така нататък & hellip, докато цикълът се окаже b = 0 за краткост, не всички резултати са показани тук. Така че таблицата по-долу представлява последния цикъл в тази операция.

Операция

Оценка на израза

Двоичен еквивалент

Десетична стойност

да се

-2147483638

11111111111111111111111111111111100000000000000000000000000000001010

-2147483638

б

-2147483648

11111111111111111111111111111111100000000000000000000000000000000000

-2147483648

докато (b! = 0)

вярно

int carry = (a & b)

-2147483638 & -2147483648

11111111111111111111111111111111100000000000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10

b = пренасяне<< 1

-2147483648<< 1

0

0

връщане a

10

00001010

10

Така че е изчислено добавянето. Фу! толкова за мисълта. Само си помислете, ако това изчисление е направено ръчно от хора, главно бинарни изчисления.

Следва в тази статия за Добавяне на две числа в Java

Рекурсия

Също така можем да напишем горната програма, използвайки рекурсия. Частта за изчисление се различава леко, нека разгледаме това за домашна работа, нали? Ще дам извлечението тук за рекурсията, а вие се опитайте да изградите своя собствена таблица, така че да знаете как работи вътрешно. Също така, няма нужда да обирате всичко това, което е само с цел представяне, освен ако не се вълнувате от вътрешната работа тук.

публичен статичен int addUsingRecursion (int a, int b) {if (b == 0) връща int int = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }

Всичко това беше за добавяне на две числа в Java с използване на + оператор и без използване на + оператор. Причината, поради която се избира нито едно от тях, изцяло ще зависи от нуждите и изискванията на проекта.

Не съм оценил и тествал работата на двата сценария, за да изляза с ефективност. Предполагам, че това ще влезе в сила само ако изграждате ракетата и я доставяте в космоса.

Обясних само числа, свързани с Цели числа за краткост, която има свой собствен лимит на паметта. Оставям на вас да проучите допълнително с помощта на float, double и т.н. Винаги помнете, че ако надвишите граничната стойност на примитивните типове, резултатът ще покаже различен отговор.

Вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Ние сме тук, за да ви помогнем във всяка стъпка по вашето пътуване, за да станете най-добрият, ние измисляме учебна програма, предназначена за студенти и професионалисти, които искат да бъдат Java Developer.