Operadores (programação)
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]
Tipos
[editar | editar código-fonte]Os operadores são divididos nas seguintes categorias:[1]
- Aritméticos
- Relacionais / Comparação
- Atribuição / Designação
- Lógicos / Booleanos
- Bitwise (Bit-a-Bit)
- Incremento / Decremento
- Concatenação
- 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
- ↑ 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
- ↑ 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