☕ Java

Aqui está a tradução do artigo de teoria de programação do russo para o português, seguindo todas as regras fornecidas.

O que é isso e para que serve?

Imagine que você é um caixa em uma loja de doces. Você tem uma caixa com 10 chocolates, e chega um cliente que quer comprar 3. Quantos sobram? E se amanhã chegarem mais 5 caixas com 10 chocolates cada — quantos terão no total? Para calcular isso, não é necessário contar cada doce com o dedo. Basta realizar operações aritméticas — adição, subtração, multiplicação e divisão.

Em Java, essas operações são quase iguais às da matemática, só que em vez do sinal de multiplicação «×» usamos *, e em vez do sinal de divisão «÷» usamos /. O computador é como aquele caixa, só que muito rápido e que nunca erra (se você não errar no comando).

Para que isso serve na programação? Imagine que você está escrevendo um jogo onde o herói coleta moedas. A cada segundo, você precisa adicionar à pontuação dele a quantidade de moedas coletadas. Ou você está fazendo uma calculadora para as aulas de matemática. Ou um programa que calcula quantos dias faltam para o Ano Novo. Em todos os lugares, são necessárias operações aritméticas.

Em Java, existem 5 operações aritméticas principais:

  • + — adição (como na matemática)
  • - — subtração
  • * — multiplicação
  • / — divisão (só que em Java tem um truque com números inteiros)
  • % — resto da divisão (isso é novo! Mostra quanto sobra se dividirmos exatamente)

Vamos combinar desde já: em Java, assim como em Python, existem tipos de dados. Para números, usamos mais frequentemente int (números inteiros, por exemplo 5, -3, 100) e double (números fracionários, por exemplo 3.14, -0.5). Se você misturá-los em uma mesma operação — o próprio Java resolve, mas às vezes isso leva a resultados inesperados (vamos discutir isso nos erros).

Ao contrário do Python, onde você pode simplesmente escrever print(2 + 3) e tudo funciona, em Java você precisa primeiro criar uma classe e o método main. Não se assuste — é apenas um "recipiente" para o seu programa. Todos os exemplos abaixo estarão dentro desse recipiente.

Exemplos de código com explicação

Exemplo 1: Adição e subtração (como na vida real)

Imagine que você tinha 15 reais, encontrou mais 7, e depois gastou 10 em um sorvete. Quanto sobrou?

public class Main {
    public static void main(String[] args) {
        // Declaramos variáveis — são como caixinhas com etiquetas
        int tinha = 15;          // Tinha 15 reais
        int encontrou = 7;       // Encontrou 7 reais
        int gastou = 10;         // Gastou 10 reais

        // Calculamos: tinha + encontrou - gastou
        int sobrou = tinha + encontrou - gastou;

        // Exibimos o resultado na tela
        // Em Java, para exibir usamos System.out.println()
        System.out.println("Sobrou para você: " + sobrou + " reais");
        // Na tela aparecerá: Sobrou para você: 12 reais
    }
}

Como funciona: O Java executa as ações da esquerda para a direita, como na matemática. Primeiro 15 + 7 = 22, depois 22 - 10 = 12. O resultado é salvo na variável sobrou. O sinal + em System.out.println é usado para juntar texto e números — isso se chama concatenação. Em Python, usam-se vírgulas ou f-strings, e em Java, o sinal de mais.

Exemplo 2: Multiplicação (calculando a área do quarto)

Você decidiu saber quantos metros quadrados tem o seu quarto. O comprimento é 6 metros, a largura é 4 metros.

public class Main {
    public static void main(String[] args) {
        int comprimento = 6;
        int largura = 4;

        // Multiplicação: área = comprimento * largura
        int area = comprimento * largura;

        System.out.println("Área do quarto: " + area + " m²");
        // Saída: Área do quarto: 24 m²

        // Agora vamos calcular o perímetro: (comprimento + largura) * 2
        int perimetro = (comprimento + largura) * 2;
        System.out.println("Perímetro do quarto: " + perimetro + " m");
        // Saída: Perímetro do quarto: 20 m
    }
}

Preste atenção nos parênteses! Em Java, como na matemática, primeiro são executadas as ações dentro dos parênteses. Se tivéssemos escrito comprimento + largura * 2, primeiro multiplicaria 4 por 2 (daria 8), e depois somaria 6 — total 14, e não 20. Os parênteses mudam a ordem!

Em Python, os parênteses funcionam exatamente da mesma forma — é uma regra comum a todas as linguagens de programação.

Exemplo 3: Divisão e resto (dividindo a pizza)

Você tem 23 pedaços de pizza e 5 amigos. Quantos pedaços cada um ganha se dividir igualmente? Quantos sobram para você?

public class Main {
    public static void main(String[] args) {
        int pedacos = 23;
        int amigos = 5;

        // Divisão inteira: 23 / 5 = 4 (resto 3)
        // Java descarta a parte fracionária se ambos os números forem inteiros!
        int cadaUm = pedacos / amigos;
        System.out.println("Cada amigo: " + cadaUm + " pedaços");
        // Saída: Cada amigo: 4 pedaços

        // Resto da divisão: 23 % 5 = 3
        int resto = pedacos % amigos;
        System.out.println("Sobra para você: " + resto + " pedaço(s)");
        // Saída: Sobra para você: 3 pedaço(s)

        // Verificação: 4 * 5 + 3 = 23 — tudo certo!
    }
}

Ponto importante: Em Java, se você divide um número inteiro por um número inteiro, o resultado também será inteiro — a parte fracionária é simplesmente descartada (não é arredondada, é descartada!). 23 / 5 = 4, e não 4.6. Se você precisar de um resultado fracionário, pelo menos um dos números deve ser fracionário (por exemplo, 23.0 / 5 ou 23 / 5.0). Em Python 3, a divisão de números inteiros dá um resultado fracionário por padrão, e para a divisão inteira usa-se //. Em Java, esse operador não existe — é necessário especificar explicitamente o tipo.

O operador % (resto) é muito útil para verificar se um número é par ou ímpar (se numero % 2 == 0, é par), para distribuir objetos igualmente, ou para trabalhar com ciclos (por exemplo, a cada 3 ações fazer algo especial).