Operadores em Java
Neste capítulo você aprenderá:
- Operadores aritméticos e de atribuição
- Operadores relacionais
- Operadores unários
- Operadores lógicos
- Operador ternário
Esses conceitos são fundamentais para escrever condições, cálculos e lógica em qualquer programa Java.
Operadores de Atribuição e Aritméticos
Seção intitulada “Operadores de Atribuição e Aritméticos”Operador de Atribuição
Seção intitulada “Operador de Atribuição”O operador de atribuição é usado para armazenar um valor em uma variável.
int idade = 25;O símbolo = significa:
Receba o valor da direita e armazene na variável da esquerda.
Operadores Aritméticos
Seção intitulada “Operadores Aritméticos”São usados para realizar cálculos matemáticos.
| Operador | Significado | Exemplo |
|---|---|---|
+ | Soma | a + b |
- | Subtração | a - b |
* | Multiplicação | a * b |
/ | Divisão | a / b |
% | Resto da divisão (módulo) | a % b |
Exemplo
Seção intitulada “Exemplo”int a = 10;int b = 3;
int soma = a + b; // 13int sub = a - b; // 7int mult = a * b; // 30int div = a / b; // 3int resto = a % b; // 1⚠️ Armadilha: divisão inteira
Quando os dois operandos são
int, o resultado é sempre inteiro — a parte decimal é descartada, sem arredondamento.int resultado = 10 / 3; // 3, não 3.33double correto = 10.0 / 3; // 3.3333... (um dos lados deve ser double)Esse é um dos erros mais comuns para quem está começando.
Operadores de Atribuição Combinados
Seção intitulada “Operadores de Atribuição Combinados”Java permite simplificar operações com atribuição.
| Operador | Equivalente |
|---|---|
+= | a = a + b |
-= | a = a - b |
*= | a = a * b |
/= | a = a / b |
%= | a = a % b |
Exemplo
Seção intitulada “Exemplo”int x = 10;
x += 5; // x = 15x -= 3; // x = 12x *= 2; // x = 24Operadores Relacionais
Seção intitulada “Operadores Relacionais”São usados para comparar valores.
O resultado sempre será um boolean (true ou false).
| Operador | Significado |
|---|---|
== | Igual |
!= | Diferente |
> | Maior |
< | Menor |
>= | Maior ou igual |
<= | Menor ou igual |
Exemplo
Seção intitulada “Exemplo”int idade = 18;
System.out.println(idade >= 18); // trueSystem.out.println(idade < 18); // false⚠️ Atenção importante:
== → comparação= → atribuiçãoErro comum de iniciantes!
Operadores Unários
Seção intitulada “Operadores Unários”Operam sobre apenas um operando.
Principais Operadores Unários
Seção intitulada “Principais Operadores Unários”| Operador | Função |
|---|---|
+ | Valor positivo |
- | Negativo |
++ | Incremento |
-- | Decremento |
! | Negação lógica |
Incremento e Decremento
Seção intitulada “Incremento e Decremento”Pré-incremento
Seção intitulada “Pré-incremento”Incrementa antes de usar.
int x = 5;int y = ++x; // x = 6, y = 6Pós-incremento
Seção intitulada “Pós-incremento”Incrementa depois de usar.
int x = 5;int y = x++; // x = 6, y = 5Negação Lógica
Seção intitulada “Negação Lógica”boolean ativo = true;
System.out.println(!ativo); // falseOperadores Lógicos
Seção intitulada “Operadores Lógicos”Usados para combinar expressões booleanas.
| Operador | Nome | Significado |
|---|---|---|
&& | AND | E lógico |
|| | OR | OU lógico |
! | NOT | Negação |
Exemplo
Seção intitulada “Exemplo”int idade = 20;boolean temCarteira = true;
if (idade >= 18 && temCarteira) { System.out.println("Pode dirigir");}Operador Ternário
Seção intitulada “Operador Ternário”O operador ternário é uma forma reduzida de escrever um if-else.
Sintaxe
Seção intitulada “Sintaxe”condicao ? valorSeVerdadeiro : valorSeFalso;Exemplo
Seção intitulada “Exemplo”int idade = 18;
String resultado = (idade >= 18) ? "Maior de idade" : "Menor de idade";
System.out.println(resultado);Equivalente ao:
String resultado;
if (idade >= 18) { resultado = "Maior de idade";} else { resultado = "Menor de idade";}Boas Práticas Importantes
Seção intitulada “Boas Práticas Importantes”✅ Use nomes claros para variáveis ✅ Evite comentários óbvios ✅ Prefira JavaDoc em APIs públicas ✅ Use operadores com clareza ✅ Evite ternário complexo
Verifique seu Entendimento
Seção intitulada “Verifique seu Entendimento”Antes de avançar, tente responder mentalmente:
- Qual o resultado de
7 / 2em Java? E de7.0 / 2? - Qual a diferença entre
==e=? - O que
++xfaz diferente dex++quando usado dentro de uma expressão? - Reescreva o código abaixo sem usar o operador ternário:
String msg = (nota >= 7) ? "Aprovado" : "Reprovado";
Ver respostas
7 / 2resulta em3(divisão inteira, parte decimal descartada).7.0 / 2resulta em3.5(um dos operandos édouble).==compara dois valores (retornatrueoufalse).=atribui um valor a uma variável. Confundir os dois é um erro clássico de iniciante.++xincrementa primeiro e depois usa o valor.x++usa o valor primeiro e incrementa depois. Ex: sex = 5, entãoy = ++xresulta emx=6, y=6; masy = x++resulta emx=6, y=5.
String msg;if (nota >= 7) { msg = "Aprovado";} else { msg = "Reprovado";}Neste capítulo você aprendeu:
- Operadores aritméticos e de atribuição (incluindo a armadilha da divisão inteira)
- Operadores relacionais e a diferença entre
==e= - Operadores unários e o comportamento de pré vs pós-incremento
- Operadores lógicos (
&&,||,!) para combinar condições - Operador ternário como forma compacta de
if-else
Próximos Passos
Seção intitulada “Próximos Passos”Com operadores dominados, você tem o necessário para escrever condições reais. O próximo passo é aprender as estruturas de controle — if, else e switch — para que seu programa tome decisões com base nesses operadores.