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).