Pular para o conteúdo principal

Trabalhando com precedência em Java: aprenda a dominar a ordem das operações no código

Você já olhou uma expressão em Java e pensou:

"Ué, por que esse resultado saiu diferente do que eu imaginei?".

Calma, você não está sozinho.

Muitos programadores iniciantes (e até alguns experientes) caem em armadilhas causadas por um conceito fundamental: precedência de operadores.

Neste post, vamos aprender a decifrar como o Java interpreta suas expressões - e garantir que você nunca mais seja surpreendido por um cálculo misterioso no console.

O que é precedência de operadores? 

Em Java (e em praticamente qualquer linguagem de programação), precedência é a ordem em que os operadores são avaliados em uma expressão.

Assim como na matemática, nem tudo acontece da esquerda para a direita. Existem regras. E quem não domina essas regras, corre sério risco de errar mesmo com código certo. 

Uma situação real: o erro clássico

Imagine a expressão:

Se você pensou que o resultado seria 30, saiba que caiu numa pegadinha comum.

O Java vai primeiro resolver a multiplicação (5 * 2 = 10) e depois somar com 10. Ou seja:

Esse é o poder (e o perigo) da precedência.

Tabela de precedência (simplificada)

Nível Operadores Tipo Associatividade
1 () Parênteses -
2 *, /, % Aritméticos Esquerda → Direita
3 +, - Aritméticos Esquerda → Direita
4 >, <, >=, <= Comparação Esquerda → Direita
5 ==, != Igualdade Esquerda → Direita
6 && Lógico AND Esquerda → Direita
7 || Lógico OR Esquerda → Direita
8 = Atribuição Direita → Esquerda

Parênteses: seu melhor aliado

Quando em dúvida, use parênteses. Eles não só evitam erros como também deixam seu código mais legível para outras pessoas (e para você mesmo no futuro).

Precedência vs Associatividade

Além da precedência, existe outro conceito importante: associatividade.

Isso define a ordem de avaliação quando dois operadores têm a mesma precedência. Exemplo clássico com operadores de atribuição:

Aqui, a avaliação acontece da direita para a esquerda. Primeiro c = 5, depois b = c, depois a = b.

Exemplos práticos

Qual o valor final?

Resposta: z = 10 + (5 * 2) = 20

E agora?

Resposta: z = (10 + 5) * 2 = 30

Dica de ouro

Quando seu código estive dando resultados inesperados, pense: "Estou respeitando a precedência dos operadores?". 

Essa simples pergunta pode salvar horas de dor de cabeça.

Saber programar é mais do que escrever comando que o computador entende - é escrever instruções que fazem sentido, seguem regras, e produzem exatamente o que você espera.

Precedência de operadores em Java é um desses fundamentos invisíveis que moldam o comportamento do seu código. Aprenda, experimente, teste, erre e corrija - porque é assim que se constrói um verdadeiro programador.

E nunca subestime o poder de um par de parênteses. Eles podem transformar um erro silencioso em um código brilhante.

Comentários

Postagens mais visitadas deste blog

Comandos básicos no Portugol Studio: LEIA e ESCREVA - a base de toda programação

Quando você está começando a aprender lógica de programação , é normal se perguntar: "Por onde eu começo de verdade?". A resposta é simples: por aquilo que todo programa faz - conversar com o usuário . E pra isso, você precisa dominar dois comandos essenciais: leia e escreva . Eles são o alicerce da sua comunicação com o computador. É como dizer: Ei computador! Mostra essa mensagem aqui ou Pede uma informação pra usuário e guarda essa resposta. Simples, poderoso e o primeiro passo para criar programas interativos de verdade! O que é o comando escreva ? O comando escreva serve para mostrar informações na tela . Ele é como um narrador do seu programa, que explica o que está acontecendo. Exemplo: Resultado no console: Você também pode exibir variáveis, textos combinados e até resultados de cálculos: E o comando leia ? Se escreva é falar, leia é ouvir . O comando leia permite que o usuário digite uma informação , e o programa guarde essa resposta em uma variável. Exemplo...

Instalando o OpenJDK no Windows: guia completo e descomplicado

Se você está começando a programar em Java  ou precisa configurar um ambiente de desenvolvimento Windows , instalar o OpenJDK é um passo essencial. O OpenJDK (Java Development Kit)  é uma versão open-source do Java, amplamente usada por desenvolvedores ao redor do mundo para criar aplicações robustas e seguras. Neste tutorial, você aprenderá a instalar e configurar o OpenJDK no Windows de maneira simples, rápida e eficaz . Vamos nessa? Baixando o OpenJDK Diferente do JDK da Oracle, o OpenJDK não possui um instalador automático para Windows. Mas não se preocupe, o processo ainda é fácil! Para baixar a versão mais recente do OpenJDK, siga estes passos: Acesse o site oficial do OpenJDK: https://jdk.java.net/ . Escolha a versão desejada (recomenda-se OpenJDK 21 ou superior para suporte de longo prazo - LTS). Baixe o arquivo .zip  correspondente à sua arquitetura (geralmente x64 a maioria dos computadores). Extraindo e configurando o OpenJDK Agora que você tem o OpenJDK baixad...

Sintaxe básica do switch case em Java: entenda de vez!

Se você está aprendendo Java e quer escrever códigos mais organizados e fáceis de entender , dominar a estrutura switch case é um passo essencial. Embora o if-else seja super versátil, o switch traz uma estrutura mais limpa e objetiva  quando lidamos com múltiplas opções baseadas no valor de uma única variável. Neste post, você vai aprender: O que é o switch case . Como funciona sua sintaxe básica . O papel do break e do default . E quando ele deve ser sua primeira escolha. Prepare-se para transformar seu código Java com esse conhecimento. Vamos nessa! O que é o switch e para que serve? O switch é uma estrutura condicional que permite escolher entre diferentes caminhos de execução , com base no valor de uma variável. Ele funciona como um menu de opções, onde cada case representa uma escolha. Use switch quando quiser comparar uma única variável  contra vário valores fixos , como números inteiros, caracteres, strings ou enum. Estrutura básica do switch case Veja a estrut...