Operadores
Os operadores indicam quais operações, como adição e subtração, devem ser executadas em outras partes de uma expressão.
Alguns operadores possuem diferentes significados com base nos tipos de dados que estão sendo operados. Por exemplo, o sinal de mais (+) pode indicar adição entre números inteiros ou a concatenação entre cadeias. Em uma expressão complexa, os operadores são avaliados em ordem de precedência.
A tabela a seguir lista o significado de cada operador. Os operadores são listados em ordem de precedência.
Operadores (em ordem de precedência) | Significado | Uso | |
---|---|---|---|
Parênteses | ( ) | Expressões logicamente agrupadas. | (<expr>) |
Operadores aritméticos | + - | Mais e menos unário. O Menos unário muda o sinal de um número. O Mais unário não. | +<expr>-<expr> |
* / | Multiplicação e divisão. Ao dividir dois números inteiros, um número inteiro é retornado (se resultar em um valor flutuante, o valor é truncado para produzir um número inteiro). | <expr>*<expr><expr>/<expr> | |
+ - | Adição e subtração de valores numéricos. O menos também subtrai o número de segundos entre dois tempos. | <expr>+<expr><expr>-<expr> | |
Operador de concatenação de cadeia | + | Concatena cadeias. | <expr>+<expr> |
Operadores relativos (tudo no mesmo nível de precedência) |
|
|
|
Operadores lógicos | not | É avaliada como true quando a expressão Booleana for false. É avaliada como false quando a expressão Booleana for true. | not <expr> |
and | É avaliada como true quando ambas as expressões são true. | <expr> e <expr> | |
ou | É avaliada como true quando a expressão for verdade. | <expr> ou <expr> | |
like | É avaliada como true quando a expressão corresponder a um padrão. O padrão contém a sequência de caracteres pelos quais procurar, o que pode incluir | like <expr> | |
é nulo, não é nulo | Testa se há valores nulos. Um valor nulo representa uma falta de dados. | é nulo, não é nulo |
Uso do operador
Em uma expressão, os operandos e resultados normalmente devem ser do mesmo tipo de dados e os operadores devem ser válidos para esse tipo de dados. Observe que a combinação de tipos de dados numéricos (ou seja, flutuantes e números inteiros) dentro de uma expressão é permitida como, por exemplo, as expressões mostradas a seguir são válidas (FloatVal é uma variável de tipo flutuante):
3 * 2.5
FloatVal > 2
Em expressões de tipo combinado, os números inteiros são implicitamente convertidos em flutuantes antes da execução das operações.
Precedência de operadores
Dentro de uma expressão, os operadores com a mesma precedência são avaliados da esquerda para a direita. Na expressão de números inteiros mostrada a seguir, por exemplo, por causa da divisão e multiplicação terem a mesma precedência, 6 é dividido por 4 e, em seguida, o resultado é truncado (porque o divisor e o dividendo são números inteiros) e multiplicado por 2.
6/4*2 = 2
Em uma expressão com muitos operadores de precedência combinada, o literal utiliza parênteses para facilitar o entendimento e a manutenção da expressão. Por exemplo, a seguir há duas versões da mesma expressão. Os parênteses utilizados na segunda versão, todavia, tornam a lógica da expressão mais clara.
Num + 2 > 80 ou Num - 2 <
-20
((Num + 2) > 80) ou ((Num - 2) < -20)