Como implementar a adição de dois números em Java?



Neste artigo, apresentarei um conceito simples, mas importante, que é a adição de dois números em Java com demonstração.

Neste artigo, vou apresentar a você um conceito simples, mas importante, que é a adição de dois números em Java. Mas antes de prosseguir, sugiro que você se familiarize com “O que é Java”, recursos do Java e como você pode instalar o Java em seu sistema, que você pode encontrar em . Isso o ajudará a compreender os próximos conceitos com rapidez e facilidade. Os outros blogs nesta série de tutoriais Java escritos por nosso especialistas cobrirão todos os tópicos importantes de Java e J2EE em profundidade,

As dicas a seguir serão abordadas neste artigo,





Então, vamos começar,

Adição de dois números em Java

Método 1

Vamos entender diretamente desenvolvendo um programa em Java para imprimir 'Adição de dois números' na tela.



Classe AddTwoNumbers {public static void main (String [] args) {System.out.println (“A adição de dois números 10 + 20 é” + (10 + 20))}}

Resultado

Saída - Adicionar dois números em Java - Edureka

Devemos entender que, aqui os números são adicionados diretamente, digamos 10 + 20 que é 30. Mas o que obtemos os números do console. Nesse caso, os valores serão armazenados em uma variável. Em termos de Java, a variável de matriz String armazenará esses números com base em seu índice.



public class Main {public static void main (String [] args) {System.out.println ('Adição de dois números' + args [0] + '+' + args [1] + 'is' + (args [0 ] + argumentos [1]))}}

A saída para isso será mostrada no Console quando passarmos o mesmo número que é 10 e 20.

Eh, o resultado que obtivemos aqui não é o desejado 30. Lembre-se de String [] args, cada entrada que você obtém do console é representada em String. Portanto, aqui temos que converter essas Strings em Integer para calcular a adição.

public class Main {public static void main (String [] args) {//System.out.println('Adição de dois números '+ args [0] +' + '+ args [1] +' é '+ (args [0] + args [1])) System.out.println ('Adição de dois números' + args [0] + '+' + args [1] + 'é' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}

Resultado

Agora, a saída desejada é o que queremos. Isso é a adição de 10 e 20 é 30 depois de analisá-lo de String para Integer.

Próximo neste artigo sobre adição de dois números em Java

Método 2

  1. Usando o operador de subtração: Podemos usar a subtração para adicionar dois números de forma que ele negue o valor negativo e, portanto, resulte em adição.

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

Ouput

30

como classificar um array c ++

10

Próximo neste artigo sobre adição de dois números em Java

Operador Unário Repetido

Isso envolve o loop while, a ideia básica por trás disso é trazer o valor do primeiro operando para zero. E continuar aumentando seu segundo operando correspondente na mesma quantidade de iterações. Considere o exemplo abaixo você mesmo.

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

Ouput

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

Próximo neste artigo sobre adição de dois números em Java

Operador bit a bit e bithift em Java

Também podemos fazer a adição de dois inteiros usando o operador bit a bit XOR e o transporte pode ser obtido pelo operador AND. Para adicionar o carry in sum, precisamos usar o operador de deslocamento à esquerda com sinal. Como isso acontece? Vamos primeiro ver um exemplo.

public class HelloWorld {public static void main (String [] args) {System.out.println ('Adição usando + ve' + addUsingBits (10, 20)) System.out.println ('Adição usando -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 } }

Resultado

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Adição usando + ve 30

Adição usando -ve 10

Lembre-se sempre de que a operação XOR é usada para avaliar a adição de dois bits. A operação AND é usada para avaliar o transporte de dois bits. Vamos dissecar isso, certo? Indo pelos valores de entrada, vamos tomar a = 10 eb = 20 para a primeira condição.

Operação

Avaliação de expressão

Equivalente binário

Valor Decimal

para

10

00001010

10

b

vinte

00010100

vinte

enquanto (b! = 0)

verdade

int carry = (a & b)

10 e 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = transportar<< 1

0<< 1

0

0

devolver um

30

00011110

30

Agora, vamos pegar uma entrada negativa, digamos -10 para um. Vamos examinar o que acontece na tabela abaixo.Isso nos permite entrar em loop até que o valor decimal de transporte seja negativo.

Próximo neste artigo sobre adição de dois números em Java

Tabela de Loop Inicial

Operação

Avaliação de expressão

Equivalente binário

Valor Decimal

para

-10

11110110

-10

b

vinte

00010100

vinte

enquanto (b! = 0)

verdade

int carry = (a & b)

-10 e 20

00010100

vinte

a = a ^ b

-10 ^ 20

11100010

-30

b = transportar<< 1

vinte<< 1

00101000

40

Loop 1.

Operação

Avaliação de expressão

Equivalente binário

Valor Decimal

para

-30

11100010

-30

b

40

00101000

40

enquanto (b! = 0)

verdade

int carry = (a & b)

-30 e 40

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = transportar<< 1

32<< 1

00101000

64

E assim por diante até que o loop seja b = 0 por brevidade, nem todos os resultados são mostrados aqui. Portanto, a tabela abaixo representa o último loop nesta operação.

Operação

Avaliação de expressão

Equivalente binário

Valor Decimal

para

-2147483638

1111111111111111111111111111111110000000000000000000000000001010

-2147483638

b

-2147483648

11111111111111111111111111111110000000000000000000000000000000

-2147483648

enquanto (b! = 0)

verdade

int carry = (a & b)

-2147483638 e -2147483648

11111111111111111111111111111110000000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

qual é a diferença entre hashmap e hashtable

10

b = transportar<< 1

-2147483648<< 1

0

0

devolver um

10

00001010

10

Então é assim que a adição foi calculada. Ufa! tanto para o pensamento. Imagine se esse cálculo foi feito manualmente por humanos, principalmente cálculos binários.

A seguir neste artigo sobre adição de dois números em Java

Recursão

Também podemos escrever o programa acima usando recursão. A parte do cálculo difere ligeiramente, vamos considerar isso como lição de casa para você, certo? Vou dar o extrato aqui para a recursão e você tenta construir sua própria tabela para que você saiba como funciona internamente. Além disso, não há necessidade de mexer em tudo isso, que é apenas para fins de representação, a menos que você esteja animado com o funcionamento interno aqui.

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

Isso tudo foi para a adição de dois números em Java com o uso do operador + e sem o uso do operador +. A razão por trás de qualquer uma dessas opções dependerá inteiramente da necessidade e dos requisitos do projeto.

Não avaliei e testei o funcionamento de ambos os cenários para chegar ao desempenho. Acho que isso só entrará em vigor se você estiver construindo o foguete e entregando-o ao espaço.

Eu expliquei apenas os números relacionados aos inteiros para concisão, que tem seu próprio limite de memória. Deixo isso para você explorar mais a fundo o uso de float, double, etc. Lembre-se sempre de que se você exceder o valor limite dos tipos primitivos, o resultado mostrará uma resposta diferente.

Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. Estamos aqui para ajudá-lo em todas as etapas de sua jornada, para que você se torne o seu melhor, criamos um currículo que é projetado para estudantes e profissionais que desejam ser um Desenvolvedor Java.