Operadores aritméticos
são operadores aplicados a dois ou mais números inteiros ou números de ponto
flutuante.
Soma e subtração: + e -
Java não permite a sobrecarga de operadores. No entanto a
própria linguagem sobrecarregou o + para quando aplicado em uma String fizesse
concatenação.
O operador + quando aplicado a dois ou mais números inteiros
ou de ponto flutuante, tem a função de
somar estes números.
Exemplo:
int minhaSoma = 20 + 8; // Resultado 28
O operador - quando aplicado a dois ou mais números inteiros
ou de ponto flutuante, tem a função de
subtrair estes números.
int minhaSubtracao = 20 – 8; // Resultado 12
Multiplicação e divisão: * e /
Os operadores de multiplicação são aplicáveis a todos os
tipos primitivos numéricos.
Existem algumas limitações impostas pela representação
numérica do computador. Estas limitações ocorrem para todos os formatos
numéricos, do byte ao double, mas são mais notáveis para os
inteiros.
Se você multiplicar ou dividir dois inteiros, o resultado
será calculado usando a aritmética de inteiros. Se o resultado for maior que o
maior numero que pode ser armazenado o resultado final não fara sentido
O operador * quando aplicado a dois ou mais números tem a
função de multiplicar estes números.
Exemplo:
int minhaMultiplicacao = 20 * 8; // Resultado 160
byte minhaMultiplicacao2 = (byte)20 * (byte)20; // O
compilador informara um possível erro de precisão sendo necessário transformar
a variável byte minhaMultiplicacao2 em
int.
O operador - quando aplicado a dois ou mais números tem a
função de dividir estes números.
int minhaDivisao = 20 / 8; // O resultado seria resultado 2.5
porem como estamos armazenando em um int
o resultado será 2 porque 2.5 deveria ser armazenado em um float ou double;
int float minhaDivisaoF = 20f / 8f; // Faz o cast para os
valores 20 e 8 serem considerados do tipo float e guarda o resultado em uma
variável float o qual o resultado será 2.5;
Resto da divisão: %
O operador % quando aplicado a dois ou mais números inteiros
ou de ponto flutuante, tem a retornar o
resto da divisão destes números.
Exemplo:
int meuResto = 20 % 8; // Resultado 4
Porque 4 se o resultado da divisão é 2,5?
O que acontece aqui é simples o sistema divide 20/8 da
seguinte maneira (voltando ao ensino fundamental) :
Quantas vezes 8 cabe dentro de 20?
2x é a
resposta certa porque 2 x 8 = 16
Quanto é 20 – 16?
4 opa aqui
esta o nosso resultado.
Resumindo é feito uma divisão direta ou seja divide um
numero pelo outro e o que sobra não dividido novamente, o que sobra é chamado
de resto.
Outros exemplos:
int meuResto2 = 20 % 3; // O
resultado será 2 porque 3 * 6 = 18 e 20 – 18 é 2.
int meuResto3 = 20 % 5; // O
resultado será 0. Porque 5 * 4 = 20 e 20 – 20 é 0;
Concluindo sugiro que sempre que trabalhar com divisão
utilize float ou double para não ter perda de precisão e não se esqueça de fazer o
cast dos valores divididos para float((float)valor ou valorf)
ou double((double) valor).
Na multiplicação sempre tome cuidado com o possível
resultado, pois a multiplicação de dois números do mesmo tipo pode resultar em
numero que não cabe neste tipo.
Vamos à prática:
class
OperadorAritimetico{
public static void main(String
args[]){
int minhaSoma = 20 + 8;
int minhaSubtracao = 20
- 8;
int minhaMultiplicacao =
20 * 8;
int minhaMultiplicacao2
= (byte)20 * (byte)20;
int minhaDivisao = 20 /
8;
float minhaDivisaoF =
20f / 8f;
int meuResto = 20 % 8;
int meuResto2 = 20 % 3;
int meuResto3 = 20 % 5;
System.out.println("minhaSoma
= " + minhaSoma);
System.out.println("minhaSubtracao
= " + minhaSubtracao);
System.out.println("minhaMultiplicacao
= " + minhaMultiplicacao);
System.out.println("minhaMultiplicacao2="
+ minhaMultiplicacao2);
System.out.println("minhaDivisao
= " + minhaDivisao);
System.out.println("minhaDivisaoF
= " + minhaDivisaoF);
System.out.println("meuResto
= " + meuResto);
System.out.println("meuResto2
= " + meuResto2);
System.out.println("meuResto3
= " + meuResto3);
}
}
Até o próximo post.
Parabéns, conteúdo muito bacana.
ResponderExcluirParabéns, conteúdo muito bacana.
ResponderExcluir