Operadores compostos

Aprenda sobre a 5ª categoria de operadores. Veja como os operadores, tais como o de incremento e decremento, simplificam os cálculos.

Antes de aprender sobre os operadores compostos, primeiramente é recomendável que você já tenha lido os artigos sobre:

Se você ainda não conhece esses operadores, certamente você deve ler esses artigos antes de prosseguir.

Bom! Mas vamos ao que interessa!

O que são os operadores compostos?

operadores-compostos-01

Os operadores compostos representam a 5ª categoria de operadores da programação e, em resumo, fornecem uma maneira mais curta para realizar algumas operações aritméticas.

Só para exemplificar, veja o código abaixo. Observe que, na linha 2, o valor atribuído à variável x é 15. (10 + 5). Portanto, o comando na linha 3 imprime na tela o valor 15.

1.int x = 10;

2.x = x + 5;

3.println(x);

Agora observe abaixo uma outra maneira de escrever esse mesmo código acima.

1.int x = 10;

2.x += 5;

3.println(x);

Certamente você pode perceber o uso de um operador diferente na linha 2 do código acima. Usamos o operador composto += para simplificar a operação aritmética.

A expressão “x = x + 5” contém duas características importantes:

  • 1) Contém duas operações simultâneas
    • uma operação de atribuição (x = x + 5)
    • e uma operação aritmética (x = x + 5).
  • 2) Utiliza apenas uma única variável na mesma operação (a variável x).

Sempre que uma expressão tiver essas duas características, certamente ela pode ser simplificada com um operador composto.

Nesse sentido, as principais linguagens de programação fornecem os seguintes operadores compostos:

++

que representa incremento.

−−

que representa decremento.

+=

que representa atribuição-adição.

−=

que representa atribuição-subtração.

*=

que representa atribuição-multiplicação.

/=

que representa atribuição-divisão.

%=

que representa atribuição-resto.

Assim sendo, veja abaixo alguns exemplos de expressões simplificadas com o uso dos operadores compostos.

  1. A expressão “x = x − 5” pode ser escrita como “x −= 5
  2. Da mesma forma “x = x * 8” pode ser escrita como “x *= 8
  3. E “x = x / 2” pode ser escrita como “x /= 2

Exercício 1

Mostre então que você entendeu o que são os operadores compostos e faça o exercício abaixo.

Operadores compostos de incremento e decremento

Os operadores ++ (incremento) e −− (decremento) são tratados de maneira particular. Na verdade, eles são até mais simples de compreender.

O operador ++ (incremento) apenas adiciona uma unidade ao valor da variável numérica.

Por exemplo: a expressão “x = x + 1” poderia ser reescrita como “x++“.

O operador −− (decremento) apenas subtrai uma unidade do valor da variável numérica.

Por exemplo: a expressão “x = x − 1” poderia ser reescrita como “x−−“.

Simples assim!

Exercício 2

Mostre então que você entendeu os operadores de incremento e decremento e faça o exercício abaixo.

Pré e pós fixação dos operadores

O operador de incremento ++ e o operador de decremento −− podem ser utilizados de duas formas diferente:

  • Pós fixado − o operador é colocado após a variável. Exemplo: x++
  • Prefixado − o operador é colocado antes da variável. Exemplo: ++x

Certamente, na maior parte das situações não vai existir nenhuma diferença em usar o operador pós ou prefixado.

Só para ilustrar, observe os códigos abaixo. Nos dois exemplos, será impresso (na linha 3) o valor 4 para a variável x.

1.int x = 3;

2.x++;

3.println(x);

1.int x = 3;

2.++x;

3.println(x);

Portanto, não faz nenhuma diferença a utilização do operador de incremento pós ou prefixado na linha 2 do código acima.

Então, quando é que faz diferença?

O uso da pós e prefixação faz diferença quando utilizamos ++ ou −− em conjunto com uma operação de atribuição. Veja um exemplo abaixo.

y = x++;

Observe que existe uma operação de atribuição (y = x++) e outra de incremento (y = x++).

Dessa forma, as expressões “y = x++” e “y = ++x” geram resultados diferentes.

Só para exemplificar, observe os códigos abaixo. Certamente, você consegue perceber a diferença entre eles na linha 2.

1.int x = 3;

2.int y = x++;

3.println(y);

1.int x = 3;

2.int y = ++x;

3.println(y);

Surpreendentemente, na linha 3 do código acima, são impressos resultados diferentes para a variável y.

O primeiro imprime o valor 3 e o segundo imprime o valor 4.

Mas por que isso acontece?

É tudo uma questão de ordem das operações!

Na expressão pós-fixadaint y = x++“, o valor de x (valor 3) é atribuído à variável y antes do incremento. Ou seja:

  • primeiro é feita a atribuição (int y = x)
  • depois é feito o incremento (x++)

Já na expressão prefixadaint y = ++x“, o valor de x (valor 3) é atribuído à variável y depois do incremento. Ou seja:

  • primeiro é feito o incremento (++x)
  • depois é feita a atribuição (int y = x)

Simples assim!

Exercício 3

Mostre então que você entendeu as regras dos operadores pós e prefixados e faça o exercício abaixo.

Esperamos que este artigo tenha te ajudado a expandir os seus conhecimentos.

Se, além deste, você também leu todos os artigos anteriores sobre programação básica, você já possui conhecimento suficiente para começar a estudar programação a sério!

Experimente se aprofundar no universo da programação de computadores com o nosso livro Game Dev Series vol.01. Com ele você poderá praticar programação se divertindo, enquanto cria um jogo do início ao fim. Clique aqui e conheça agora.

David V. Santiago

David V. Santiago

Professor e Mestre em Sistemas e Computação.

Este artigo foi útil para você?

Então nos ajude a crescer e compartilhe-o com outras pessoas que se interessam por esse assunto!

Share on whatsapp
WhatsApp
Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on email
Email

Nos siga em nossas redes sociais.

O primeiro livro didático de programação para jogos digitais

Este site usa cookies para garantir que você obtenha a melhor experiência.