IBM Tivoli Monitoring, Versão 6.2.3

Operadores e Expressões

Expressões executam ações específicas, baseadas em um operador com um ou dois operandos. Um operando pode ser uma constante, uma variável ou um resultado de função. Os operadores são aritméticos, lógicos e relacionais. Como com C, alguns operadores variam em funcionalidade de acordo com o tipo de dados dos operandos especificados na expressão.

Operadores Aritméticos ( +, -, *, /, **, % )
Os operadores aritméticos executam operações matemáticas, como adição e subtração com operandos. Há dois tipos de operadores matemáticos: unário e binário. Os operadores unários executam uma ação com um único operando. Operadores binários executam ações com dois operandos. Em uma expressão complexa, (dois ou mais operandos), a ordem de avaliação depende de regras de precedência.
Operadores Aritméticos Unários
Operadores unários são operadores aritméticos que desempenham uma ação em um único operando. A linguagem de script reconhece o negativo do operador unário (-).

O operador unário negativo inverte o sinal de uma expressão de positivo para negativo ou vice-versa. O efeito geral é de multiplicar o número por -1. Exemplo:

a = -10;

Os operadores Prefix incrementam ou decrementam a variável antes de remover a referência ao objeto, enquanto que os operadores Postfix incrementam ou decrementam a variável após fazer referência a ela. Exemplo:

A=1; 
B = a++; // b será igual a 1, a será igual a 2; 
A = 1; 
B = ++a; // b será igual a 2, a será igual a 2; 
A= 1; 
B = a--; // b será igual a 1, a será igual a 0;
Operadores Aritméticos Binários
Insira um espaço antes e depois de um operador aritmético. Os operadores aritméticos binários suportados são listados abaixo.
Tabela 1. Operadores Aritméticos Binários
Símbolo Operação Exemplo Descrição
+ Adição a + b Soma os dois operandos
- Subtração a - b Subtrai o segundo operando do primeiro
* Multiplicação a * b Multiplica os dois operandos
/ Divisão a / b Divide o primeiro operando pelo segundo
** Potência a ** b Eleva o primeiro operando à potência do segundo operando
%

Módulo

a % b

Divide o primeiro operando pelo segundo operando e produz a parte restante
Precedência de Operadores
As expressões normalmente são avaliadas da esquerda para a direita. Expressões complexas são avaliadas uma por vez. A ordem em que as expressões são avaliadas é determinada pela precedência dos operadores utilizados. A ordenação padrão de C é seguida.
  1. unário negativo (-)
  2. potência
  3. multiplicação, divisão e módulo
  4. adição e subtração

Se uma expressão contiver dois ou mais operadores com a mesma precedência, o operador à esquerda será avaliado primeiro. Por exemplo, 10 / 2 * 5 será avaliado como (10 / 2) e o resultado será multiplicado por 5.

Quando uma operação de precedência inferior precisar ser processada primeiro, deve ser colocada entre parênteses. Por exemplo, 30 / 2 + 8. Normalmente, isso é avaliado como 30 dividido por 2 depois 8 somado ao resultado. Se desejar dividir por 2 + 8, isto deveria ser escrito como 30 / (2 + 8).

Os parênteses podem ser aninhados em expressões. As expressões entre parênteses mais internas são avaliadas primeiro.

Operador de Designação (=)
Utilize o operador de designação (=) para copiar uma constante, um literal, um resultado de expressão de variável ou um resultado de função para uma variável. A linguagem de script não suporta várias designações em uma única instrução (como a=b=c=0). Os comprimentos das cadeias são definidos com base no tamanho da cadeia designada para a variável e pode mudar dinamicamente no tempo de execução.
Operadores Lógicos (E, OU)
Os operadores lógicos permitem a combinação de mais de um teste relacional em uma comparação. Os operadores lógicos retornam um valor TRUE (1) ou FALSE (0). Os operadores lógicos têm precedência inferior aos operadores aritméticos.
Tabela 2. Operadores Lógicos
Símbolo Operação Exemplo Descrição
AND &&

E

Expr1 $$ expr2

Verdadeira se expr1 e expr2 forem verdadeiras.

OR ||

OR

Expr1 OR expr2

Verdadeira se expr1 ou expr2 for verdadeira.

Operadores Relacionais
Os operadores relacionais são os seguintes:
Tabela 3. Operadores Relacionais
Símbolo Operação Exemplo Descrição
< Menor que a < b Verdadeira se a for menor que b.
> Maior que a GT b Verdadeira se a for maior que b.
== Igual a a == b Verdadeira se a for igual a b.
!= Diferente de a NE b Verdadeira se a for diferente de b.
<= Menor ou Igual a a <= b Verdadeiro se a for menor ou igual a b.
>= Maior ou Igual a a GE b Verdadeiro se a for maior ou igual a b.

As comparações devem ser feitas em tipos de dados semelhantes - cadeia para cadeia, números para números. Se os tipos de dados forem diferentes, um erro de tempo de execução será causado.

Comparações de Cadeia
Duas cadeias são consideradas iguais se corresponderem caractere a caractere e tiverem o mesmo comprimento. As cadeias são comparadas caractere a caractere da esquerda para a direita até todos os caracteres terem sido correspondidos ou uma das cadeias ter sido exaurida. Se o final de uma cadeia for atingido antes do final da cadeia correspondente, as cadeias serão consideradas como tendo comprimento desigual e resultam em uma condição diferente.

Se qualquer caractere de um cadeia não corresponder ao caractere correspondente na outra cadeia, a comparação parará e as cadeias serão consideradas diferentes. As cadeias fazem distinção entre maiúsculas e minúsculas. Exemplos:

Str1 = "abcdefg"; 
Str2 = "abcdefg"; 
Str3 = "abcdef"; 
Str4 = "ABCDEFG"; 
If (str1 == str2)... resulta em uma condição igual/verdadeira 
If (str1 == str3).... Resulta em uma condição diferente
porque str3 é menor que str1 If (str1 == str4) ... Resulta em uma
condição diferente porque as cadeias têm distinções entre maiúsculas e minúsculas diferentes;
Operador de Concatenação de Cadeias (+)
O operador Mais (+), quando aplicado a cadeias, resulta na concatenação de duas cadeias. Exemplo:
Str1 = "abc"; 
Str2 = "def"; 
Str3 = str1 + str2; resulta em "abcdef"


Feedback