Você está na página 1de 7

Operações Matemáticas- Adição- Subtração-Multiplicação- Divisão-

Resto da Divisão (módulo) e precedência dos operadores


Quanto é 1 + 2 x 2 ?
Para nós, pode ser 5 ou 6. Pro Java é sempre 5.

Se fizer a soma primeiro, é 6: 1+2 x 2 = 3 x 2 = 6


Se fizer o produto primeiro, é 5: 1 + 2x2 = 1 + 4 = 5
E o computador? Como faz? E se ele se confundir também?

E 5 dividido por 2 ?
2.5 ? Pro Java pode ser 2.5 ou 2.
Operações Matemáticas em Computação
Primeiro, esqueça o 'x' como sinal de multiplicação, de agora em diante é '*'.
Segundo, divisão se representa com o '/'. Por exemplo, 4/2 = 2
Terceiro, tudo em computação é matemática.

Aliás, computação vem de computar, ou seja, contar.


Até quando você escreve em Java, a JVM(Java Virtual Machine) troca informações com sua máquina na forma de
matemática (em bits).
Até as imagens, são divididas em pequenos blocos, são numerados e cada bloquinho é pintado com uma cor
devidamente identificada.

Adivinhe como é essa identificação? Claro, por meio de números.


Ou achou que a máquina ia dividir em 'rosa emo', 'azul bebê' ou 'azul piscina'?

Adição, Subtração e Multiplicação


Essas três não tem muitas dificuldade. São 'zona'. Você pode somar, subtrair e multiplicar o que quiser.
Á rigor, tudo é uma soma.
Subtração é uma uma soma com números negativos: a - b = a + (-b)
Multiplicação é uma soma repetida várias vezes: a * b = a + a + a + a ... + a (o 'a' se repete 'b' vezes).

O seguinte código pede dois números inteiros (se não for inteiro, terá erros) e mostra o resultado da soma, subtração e
multiplicação, sem segredo:

import java.util.Scanner;

public class Operacoes {

public static void main(String[] args) {


Scanner entrada = new Scanner(System.in);
int num1;
int num2;

System.out.print("Digite o primeiro número: ");


num1 = entrada.nextInt();

System.out.print("Digite o segundo número: ");


num2 = entrada.nextInt();
System.out.println();
System.out.println(num1 + " + " + num2 + " = " + (num1 + num2) );
System.out.println(num1 + " - " + num2 + " = " + (num1 - num2) );
System.out.println(num1 + " * " + num2 + " = " + (num1 * num2) );

}
}

Caso não for usar inteiros (ou for) aconselho a usar 'printf', pois você pode formar a saída.

Formatação com printf


Uma forma diferente de exibir números é:
System.out.printf("número: %d", num1);

O exemplo passado ficaria:

import java.util.Scanner;

public class Operacoes {

public static void main(String[] args) {


Scanner entrada = new Scanner(System.in);
int num1;
int num2;

System.out.print("Digite o primeiro número: ");


num1 = entrada.nextInt();

System.out.print("Digite o segundo número: ");


num2 = entrada.nextInt();

System.out.printf("\n%d + %d = %d\n", num1, num2, num1 + num2);


System.out.printf("%d - %d = %d\n", num1, num2, num1 - num2);
System.out.printf("%d * %d = %d\n", num1, num2, num1 * num2);

}
}

Ou seja, o '%d' será substituído pelo valor de %d.


Para substituir valores de variáveis float, use %f
Com multiplicação e divisão de números decimais, a coisa pode ficar bagunçada por conta das vírgulas. Por isso, vamos
adicionar esse '.2' entre o '%' e o 'f', ficando %.2f.
Isso quer dizer que, após o ponto decimal, imprimir somente duas casas decimais. Veja:

import java.util.Scanner;

public class Operacoes {


public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
float num1;
float num2;

System.out.print("Digite o primeiro número: ");


num1 = entrada.nextFloat();

System.out.print("Digite o segundo número: ");


num2 = entrada.nextFloat();

System.out.printf("\n%.2f + %.2f = %.2f\n", num1, num2, num1 + num2);


System.out.printf("%.2f - %.2f = %.2f\n", num1, num2, num1 - num2);
System.out.printf("%.2f * %.2f = %.2f\n", num1, num2, num1 * num2);
System.out.printf("%.2f / %.2f = %.2f\n", num1, num2, num1 / num2);

}
}

Experimente tirar o '.2' e veja a bagunça que fica na hora de multiplicar e dividir.

Divisão
Não divida nada por zero. Isso não existe.
Não é infinito (ou -infinito). É uma indefinição matemática.

Outra detalhe que você deve atentar é a divisão de inteiros. Quanto é 5/2?
Vamos ver o que o Java nos dizer com o seguinte programa:

import java.util.Scanner;

public class Operacoes {

public static void main(String[] args) {


Scanner entrada = new Scanner(System.in);
int num1=5;
int num2=2;

System.out.println(num1/num2);

}
}

run:
2
BUILD SUCCESSFUL (total time: 0 seconds)

2?
"Putz, como meu computador é burro!"
Calma, agora teste:

import java.util.Scanner;

public class Operacoes {

public static void main(String[] args) {


Scanner entrada = new Scanner(System.in);
float num1=5;
float num2=2;

System.out.println(num1/num2);

}
}

run:
2.5
BUILD SUCCESSFUL (total time: 0 seconds)

Ou seja, divisões de inteiros retornam resultados inteiros. Mesmo se o resultado 'de verdade' fosse 2.999999, o Java
retornaria somente a parte inteira, que é 2, e não 3.
Em termos técnicos, o Java trunca a parte decimal. Simplesmente descarta ela.

Resto da divisão
Voltando ao 5 / 2: caso a operação seja feita com inteiro, você sabe que o resultado é 2. Porém, terá um resto, que será
1.
Pois: 5 = 2 * 2 + 1

O símbolo de resto da divisão é %.


Assim, 8 % 3 = 2. Pois: 8 = 3*2 + 2

Em matemática chamamos de 'mod', de módulo: 8 mod 3 = 2

No Brasil, é aquele 'resto' que deixávamos lá embaixo nas continhas do colégio:


Teste:

public class Operacoes {

public static void main(String[] args) {

System.out.println(2009%19);

}
}

Veremos e usaremos bastante o resto da divisão em várias questões/algoritmos.


Por exemplo, todo número par deixa resto da divisão por 2 igual à 0. Isso é uma informação valiosíssima.

Precedência dos operadores e uso dos parênteses


Para não existir confusão e mais de um resultado possível, o Java adota uma precedência de seus operadores:

1o: Multiplicação (*), Divisão (/) e resto da divisão (%) são calculados primeiro. Caso existam mais de um na mesma
expressão, o Java impõe a precedência como sendo da esquerda pra direita na expressão.

2o: Adição (+) e Subtração(-) depois dos operadores acima serem calculados, esses são calculados. Caso existam mais
de um na mesma expressão, o Java impõe a precedência como sendo da esquerda pra direita na expressão.

Para não existir confusão e para deixar seu código sempre mais claro, separe as expressões com parênteses. Por
exemplo, como se calcula média dos números a e b?
a + b / 2 -> errado
(a + b)/2 -> certo

Os parentêses formam um bloco. É como se o que estivesse ali dentro fosse calculado separadamente.

No exemplo de inicio deste capítulo: 1 + 2 * 2


Dependendo do que você quer, divida em em parantêses que ficará implícito.

Veja:
1 + 2 * 2 = 5 (precedência do * perante ao +, em Java)
(1 + 2) * 2 = 6
1 + (2 * 2) = 5

É fácil ver que fica mais claro e organizado com o uso dos parênteses.

Exercícios:
1. Crie um programa que recebe suas três notas (colégio, faculdade) e calcule a média final.
2. Crie um programa que receba a altura e o peso do usuário, e diga seu IMC (Índice de Massa Corporal), dado
pela fórmula:
Efetuando cálculos de porcentagem em Java

Cálculos de porcentagens estão presentes em boa parte das aplicações que


desenvolvemos. Porém, há momentos em que a mente trava e não
conseguimos lembrar com clareza como estes cálculos são feitos,
principalmente em Java.

Esta anotação tem o objetivo de ser uma fonte de pesquisa para os


momentos em que suas habilidades matemáticas insistirem em continuar
ocultas.

Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um


acréscimo de 15%. Qual o valor final do produto? Veja o código em Java:
public class Estudos{
public static void main(String args[]){
double valor = 178.00; // valor original
double percentual = 15.0 / 100.0; // 15%
double valor_final = valor + (percentual * valor);

System.out.println("O valor final do produto é: " +


valor_final);

// O resultado será 204,70

System.exit(0);
}
}
Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto
de 8%. Qual foi seu valor final? Veja o código em Java:
public class Estudos{
public static void main(String args[]){
double valor = 250.00; // valor original
double percentual = 8.0 / 100.0; // 8%
double valor_final = valor - (percentual * valor);

System.out.println("O valor final do produto é: " +


valor_final);

// O resultado será 230,00

System.exit(0);
}
}
Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72
das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a
porcentagem de erros? Veja o código em Java:
public class Estudos{
public static void main(String args[]){
double perguntas = 90.0;
double acertos = 72.0;

System.out.println("Porcentagem de acertos: " +


((acertos / perguntas) * 100) + "%");

System.out.println("Porcentagem de erros: " +


(((perguntas - acertos) / perguntas) * 100) + "%");

// Os resultados serão 80% e 20%

System.exit(0);
}
}
Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$
240,00. Qual foi a porcentagem de lucro na transação? Veja o código em
Java:
public class Estudos{
public static void main(String args[]){
double v_ant = 300.0; // valor anterior
double v_nov = 340.0; // valor novo
double p_lucro = 0.0; // porcentagem de lucro

while(v_ant + ((p_lucro / 100.0) * v_ant) < v_nov){


p_lucro = p_lucro + 0.1;
}

System.out.println("A porcentagem de lucro foi de: " +


p_lucro + "%");

// O resultado será 13,39

System.exit(0);
}
}
Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto
custa R$ 70,00, qual o valor em reais repassado a um determinado
vendedor? Veja o código em Java:
public class Estudos{
public static void main(String args[]){
double valor = 70.0; // valor do produto
double porcent = 5.0 / 100.0; // 5%

double comissao = porcent * valor;

System.out.println("O valor repassado ao vendedor e: " +


comissao);

// O resultado será 3,5

System.exit(0);
}
}

Você também pode gostar