Fáceis de utilizar, parecem muito com um cálculo realizado em uma calculadora comum. Vejamos uma tabela com os operadores básicos:
Operador | Cálculo Realizado | Exemplo | Resultado |
---|---|---|---|
+ | Soma entre dois números | 4 + 8 | 12 |
- | Subtração entre dois números | 32 - 9 | 23 |
* | Multiplicação entre dois números | 6 * 8 | 48 |
/ | Divisão entre dois números | 48 / 16 | 3 |
% | Resto da divisão entre dois números | 21 % 2 | 1 |
O único operador que talvez nem todos conheçam ou se lembrem é o operador de resto da divisão. Funciona assim: Digamos que você divida 10 por 3. O resultado dá 3 e sobra 1. Então, se utilizarmos o operador de resto da divisão (também conhecido como módulo) para esse mesmo cálculo, o resultado será 1. Se fizéssemos 20 % 3 o resultado seria 2 ou seja, o resto da divisão de 20 por 3.
Vejamos mais alguns exemplos do operador de resto da divisão só para ficar bem claro:
30 % 5
# Resultado: 0
12 % 5
# Resultado: 2
18 % 5
# Resultado: 3
Eis uma figura para ilustrar o quê afinal de contas significa o resto da divisão:
Neste ponto podemos realizar uma comparação entre a sintaxe dos operadores aritméticos entre a Matemática, o Português Estruturado e algumas linguagens de programação:
No capítulo anterior utilizamos o irb para testar os tipos de dados (classes em Ruby). Você pode utilizar o irb para testar os operadores aritméticos com alguns números, para ver o resultado:
Podemos notar que a divisão de 7 / 2 resultou em 3. Esta é uma das diferenças entre Ruby e português estruturado com relação aos operadores aritméticos. Em português estruturado se usássemos 7 / 2 obteríamos a divisão inteira. Em Ruby a divisão padrão retorna o valor inteiro. Caso queiramos a divisão exata, utilizamos um .0 ao final, explicitando que o tipo do dado é Real (float).
Neste caso, se digitarmos:
Constatamos que, indiferente se o numerador ou o denominador é utilizado com o tipo Real (float), o Ruby retorna um resultado da divisão exata do tipo Float.
Outro detalhe é que foram colocados espaços entre os números e os operadores. Mas funcionaria da mesma forma se fizéssemos sem os espaços. No entanto, à medida que as expressões vão aumentando, a legibilidade do código fica prejudicada sem os espaços. Por exemplo, ficaria mais difícil de ler se fosse assim:
30+8-7+3-5
Para facilitar o entendimento do código utilizamos espaços entre os números e os operadores. Em algumas linguagens isso inclusive é considerada uma boa prática de programação. Veja como fica bem mais legível:
30 + 8 - 7 + 3 - 5
Em Ruby temos um outro operador muito útil que é o operador **, utilizado para exponenciação. Por exemplo:
Ele é simples assim mesmo! Eleva o primeiro número ao segundo.
Também podemos testar os operadores aritméticos em Java. Para isso, pode-se criar um pequeno programa:
public class OperadoresAritmeticos {
public static void main (String[] args) {
System.out.println(2 + 3);
System.out.println(3 * 9);
System.out.println(7 / 2);
System.out.println(7.0 / 2);
System.out.println(7 % 2);
}
}
Vimos que em Java, assim como em Ruby, o operador aritmético de divisão retorna um valor dependendo do tipo do dado. Se ambos os números forem do tipo int (Inteiro), o resultado será arredondado para baixo. Se ambos ou pelo menos um dos números for do tipo float ou double, o resultado será exato.
Rodando o programa:
Se tiver dúvidas de como compilar e rodar o programa em Java, veja novamente o tutorial Instalando o ambiente Java no Ubuntu se você usar Linux Ubuntu ou o tutorial "Instalação do Java 7 no Windows 7" que é mostrado um exemplo ao final do mesmo de como compilar e executar programas na plataforma.
Em Javascript, os tipos numéricos funcionam um pouco diferentes de Ruby e Java. Se for realizada uma operação matemática, independente se o usuário inseriu ou não um ponto para ressaltar que quer um resultado exato em uma divisão, o Javascript sempre procura retornar um valor exato. Veja um exemplo no link abaixo:
Nome | Comentário | |
---|---|---|
Soma simples | Operador de soma | |
Subtração simples | Operador de subtração | |
Multiplicação Simples | Operador de multiplicação | |
Divisão simples 1 | Operador de divisão | |
Divisão simples 2 | Operador de divisão | |
Resto da divisão 1 | Oerador de resto da divisão | |
Resto da divisão 2 | Oerador de resto da divisão |