Saltar para o conteúdo

Operadores (programação)

Origem: Wikipédia, a enciclopédia livre.

Na programação e na lógica, os operadores são símbolos que informam ao compilador e para as expressões como realizar as operações matemáticas (manipulações), operações lógicas e, comparações específicas.[1][2]

Os operadores são divididos nas seguintes categorias:[1]

  1. Aritméticos
  2. Relacionais / Comparação
  3. Atribuição / Designação
  4. Lógicos / Booleanos
  5. Bitwise (Bit-a-Bit)
  6. Incremento / Decremento
  7. Concatenação
  8. Condicional / Ternário

Operadores Aritméticos

[editar | editar código-fonte]

São operadores usados em cálculos aritméticos simples, usando as quatro operações básicas da matemática (mais o módulo).[1][2] Existem dois tipos de operadores matemáticos: unário (executam a ação com um único operando) e binário (executam ações com dois operandos).[2]

Em uma expressão com vários operandos, a ordem de execução segue as regras de precedência de operadores.[1][2]

Operador Operação Uso Explicação
+ Soma a = +10; operador unário, ação em 1 operando "a"
+ Soma a + b soma os operandos "a" e "b"
Subtração a – b subtrai o operando à direita "b" do operando à esquerda "a"
* Multiplicação a * b multiplica os dois operandos "a" e "b"
/ Divisão a / b divide o operando à esquerda "a" pelo operando à direita "b"
% Módulo a % b informa o resto da divisão do operando à esquerda "a" pelo operando à direita "b"
**

^

Exponenciação a ** b informa o valor do operando "a" elevado a "b": potência ab

Operadores Relacionais

[editar | editar código-fonte]

São operadores que permitem uma relação entre dois valores (ou operandos) e, funcionam com quaisquer tipos de dados (operandos do mesmo tipo).[1][2] Comparam o valor do operando à esquerda com o valor do operando à direita do operador, retornando um valor lógico (verdadeiro/falso) de acordo com a comparação.[1]

No caso de duas sequências de texto (string), estas são consideradas iguais se tiverem o mesmo tamanho e todos os caractere forem iguais;[2] as cadeias são comparadas caractere a caractere da esquerda para a direita até todos terem sido correspondidos e, se o final da sequência de texto for atingido antes do final da sequência correspondente, estas serão consideradas desiguais e com condição diferente.[2]

Operador Operação Uso Explicação
== Igualdade a == b Verifica se os dois valores são iguais (operandos "a" e "b"); se sim: retorna verdadeiro, senão: retorna falso.
!= Diferença a != b Verifica se os dois valores são diferentes (operandos "a" e "b"); se sim: retorna verdadeiro, senão: retorna falso.
> Maior que a > b Verifica se o valor à esquerda "a" é maior do que o valor à direita "b"; se sim: retorna verdadeiro, senão: retorna falso.
< Menor que a < b Verifica se o valor à esquerda "a" é menor do que o valor à direita "b"; se sim: retorna verdadeiro, senão: retorna falso.
>= Maior ou igual a a >= b Verifica se o valor à esquerda é maior ou igual ao valor à direita; se sim: retorna verdadeiro, senão: retorna falso.
<= Menor ou igual a a <= b Verifica se o valor à esquerda é menor ou igual ao valor à direita; se sim: retorna verdadeiro, senão, retorna falso.

Operadores de Atribuição

[editar | editar código-fonte]

São operadores usados para fazer a atribuição de valor entre os operandos (atribuir valor a uma variável).[1][2] A linguagem de script não tem suporte a várias atribuições em sequência na mesma expressão (como a=b=0).[2] .

Operador Operação Uso Equivale Explicação
= Atribuição a = b Atribui no operando à esquerda "a" o valor do operando à direita "b".
+= Soma com atribuição a += b a = a + b Adiciona o operando do lado direito "b" ao operando do lado esquerdo "a" e, o resultado é salvo no operando do lado esquerdo "a".
-= Subtração com atribuição a -= b a = a – b Subtrai o operando do lado direito "b" do operando do lado esquerdo "a" e, o resultado é salvo no operando do lado esquerdo "a".
*= Multiplicação com atribuição a *= b a = a * b Multiplica o operando do lado direito "b" pelo operando do lado esquerdo "a" e, o resultado é salvo no operando do lado esquerdo "a".
/= Divisão com atribuição a /= b a = a / b Divide o operando do lado esquerdo "a" pelo operando do lado direito "b" e, o resultado é salvo no operando do lado esquerdo "a".
%= Módulo com atribuição a %= b a = a % b Módulo entre os operandos do lado esquerdo e direito "a" e "b" e, o resultado é salvo no operando do lado esquerdo "a".
&= AND bitwise com atribuição a &= b a = a & b Realiza a operação a & b e armazena o resultado no operando "a"
|= OR bitwise com atribuição a |= b a = a | b Realiza a operação a | b e armazena o resultado no operando "a"
^= XOR bitwise com atribuição a ^= b a = a ^ b Realiza a operação a ^ b e armazena o resultado no operando "a"
<<= Desloca à esquerda com atribuição a << b a = a << b O valor do operando a esquerdo "a" é movido para a esquerda de acordo com o

número de bits especificado pelo operando à direita "b"

>>= Desloca à direita com atribuição a >> b a = a >> b O valor do operando à esquerda "a" é movido para a direita de acordo com o

número de bits especificado pelo operando à direita (divide a por 2b)

Operadores Lógicos

[editar | editar código-fonte]

São operadores que recebem na entrada dois tipos de valores booleanos (verdadeiro/falso) e o resultado também são valores booleanos.[1][2] Úteis em múltiplas condições relacionais na mesma expressão.[1] Os operadores lógicos têm precedência inferior aos operadores aritméticos.[2] Na maioria das linguagens de programação, o valor 0 é considerado como “falso” e, qualquer número diferente de zero é convertido para “verdadeiro”.[1] .

Operador Operação Uso Explicação
&&

and

AND lógico (E) a && b Informa verdadeiro se "a" e "b" forem verdadeiros, senão retorna falso.
||

or

OR lógico (OU) a || b Informa falso se "a" e "b" náo forem verdadeiros; senão retorna verdadeiro
!

not

NOT lógico (NÃO) !b Informa verdadeiro se "b" for falso, senão retorna falso (operador unário).

Operadores Bitwise

[editar | editar código-fonte]

São operadores que convertem números inteiros fornecidos e, executam a operação solicitada, o resultado é em representação decimal.[1] Em algumas linguagens de programação o símbolo ^ indica a operação de exponenciação.[1]

Operador Operação Uso Explicação
& AND bitwise a & b
| OR bitwise a | b
^ XOR bitwise a ^ b
~ NOT bitwise ~a Operador unário que inverte os bits (0 vira 1 e 1 vira 0).
<< Deslocamento à esquerda a << b O valor do operando a esquerdo "a" é movido para a esquerda de acordo com o

número de bits especificado pelo operando à direita "b" (multiplica a por 2b)

>> Deslocamento à direita a >> b O valor do operando à esquerda "a" é movido para a direita de acordo com o

número de bits especificado pelo operando à direita (divide a por 2b)

Operadores de Incremento e Decremento

[editar | editar código-fonte]

São operadores que somente recebem um valor (operando) na entrada.[1] Onde "incrementar" aumentar o valor de um item (por padrão em 1 unidade) e "decrementar" diminuir o valor de um item.[1]

Operador Operação Uso Explicação
++ Pós-incremento a++ Aumenta/incrementa "a" em 1 após usar seu valor
++ Pré-incremento ++a Aumenta/incrementa "a" em 1 antes de usar seu valor
Pós-decremento a– Diminui/decrementa a de 1 após usar seu valor
Pré-decremento –a Diminui/decrementa a de 1 antes de usar seu valor

Operador de Concatenação

[editar | editar código-fonte]

São operadores que fazem a junção de duas ou mais sequências de texto (strings) formando uma nova sequência.[1] .

Operador Operação Uso Explicação
+ Concatenação a + b O texto em "a" é unido ao texto em "b", formando assim um novo texto (string)

Operador Condicional

[editar | editar código-fonte]

Operador similar ao uso do condicional (se-senão/if-else), que faz a operação testando uma condição.[1]

c = (condição)? a : b

Se a condição retornar verdadeiro, então o valor de "a" é atribuído ao "c". Caso contrário, o valor de "b" será atribuído ao "c".[1]

A associatividade e precedência

[editar | editar código-fonte]

Quando usar operadores para construir expressões ou algoritmos, é necessário saber como os operadores se relacionam entre si quando vários operadores são usados. Assim consideramos as regras de precedência de operadores e as regras de associatividade de operadores.[1]

  • Regras de precedência: especificam qual operador na expressão é avaliado primeiro quando dois operadores com precedência diferente são adjacentes.[1] As expressões são avaliadas da esquerda para a direita: 1. unário negativo (-); 2. potência; 3. multiplicação, divisão e módulo, e; 4. adição e subtração.[2]
  • Regras de associatividade: especificam qual operador na expressão será avaliado primeiro quando dois operadores com a mesma precedência são adjacentes; quando existem dois ou mais operadores de mesma precedência DE (Direita para a Esquerda) e ED (Esquerda para a Direita).[1]

Use parênteses ( ) para alterar a ordem de precedência ou associatividade dos operadores, informando qual operação deve ser executada primeiro;[1] quando um operador de baixa precedência precisar ser executado por primeiro.[2]

Os operadores de maior precedência na parte superior da tabela

Tipo de Operador Associatividade Operador
Parênteses ED ( )
Exponenciação ED ** ^
Pós-fixo ED ++  
Unário DE – ! ~++ —
Multiplicação / Divisão ED * / %
Adição / Subtração ED + –
Deslocamento ED << >>
Relacional ED < <= > >=
Igualdade ED == !=
AND Bitwise ED &
XOR Bitwise ED ^
OR Bitwise ED |
AND Lógico ED &&
OR Lógico ED ||
Condicional DE ?:
Atribuição DE += -= *= /= %= >>= <<= &= ^= |=

Referências

  1. a b c d e f g h i j k l m n o p q r s t u Reis, Fábio dos (31 de agosto de 2022). «Resumo Básico de Operadores em Programação». Bóson Treinamentos em Ciência e Tecnologia. Consultado em 17 de dezembro de 2024 
  2. a b c d e f g h i j k l m «Operadores e Expressões». www.ibm.com. Consultado em 17 de dezembro de 2024