Compartilhar via


Expressões booleanas (Visual Basic)

A expressão booleana é uma expressão que é avaliada como um valor igual a Tipo de dados Boolean: True ou False.Booleanexpressões podem tomar vários formulários.A forma mais simples é a comparação direta do valor de um Boolean variável para um Boolean literal, como mostrado no exemplo a seguir.

If newCustomer = True Then
    ' Insert code to execute if newCustomer = True.
Else
    ' Insert code to execute if newCustomer = False.
End If

Dois significados do operador =

Observe que a instrução de atribuição newCustomer = True tem a mesma aparência como a expressão no exemplo anterior, mas ele executa uma função diferente e é usado de maneira diferente.No exemplo anterior, a expressão newCustomer = True representa um valor booleano e o = sinal é interpretado como um operador de comparação.Em uma declaração autônoma, o = sinal é interpretado como um operador de atribuição e atribui o valor à direita para a variável à esquerda.O exemplo a seguir ilustra isto:

If newCustomer = True Then
    newCustomer = False
End If

Para obter mais informações, consulte Comparações de valor (Visual Basic) e Instruções (Visual Basic).

Operadores de Comparação

Operadores de comparação como =, <, >, <>, <=, e >= produzir expressões booleanas, comparando a expressão no lado esquerdo do operador para a expressão no lado direito do operador e avaliar o resultado como True ou False.O exemplo a seguir ilustra isto:

42 < 81

Como 42 é menor que 81, a expressão booleana no exemplo anterior é avaliada como True.Para obter mais informações sobre esse tipo de expressão, consulte Comparações de valor (Visual Basic).

dya2szfk.collapse_all(pt-br,VS.110).gifOperadores de comparação combinados com operadores lógicos

Expressões de comparação podem ser combinadas usando operadores lógicos para produzir mais complexas expressões booleanas.O exemplo a seguir demonstra o uso de operadores de comparação em conjunto com um operador lógico.

x > y And x < 1000

No exemplo anterior, o valor da expressão geral depende dos valores das expressões em cada lado da And operador.Se as duas expressões são True, e em seguida, avalia a expressão geral True.Se qualquer expressão for False, e em seguida, toda a expressão for avaliada como False.

Operadores de curto-circuito

Os operadores lógicos AndAlso e OrElse exibir um comportamento conhecido como curto-circuitando.Um operador de curto-circuito avalia primeiro operando esquerdo.Se o operando esquerdo determina o valor de toda a expressão, a execução do programa continua sem avaliar a expressão à direita.O exemplo a seguir ilustra isto:

If 45 < 12 AndAlso testFunction(3) = 81 Then
    ' Add code to continue execution.
End If

No exemplo anterior, o operador avalia a expressão à esquerda, 45 < 12.Porque a expressão à esquerda é avaliada como False, toda a expressão lógica deve ser avaliada como False.A execução do programa, portanto, ignora a execução do código dentro do If bloco sem avaliar a expressão à direita, testFunction(3).Este exemplo não chama testFunction() porque a expressão esquerda falsifica toda a expressão.

Da mesma forma, se a expressão à esquerda em uma expressão lógica com OrElse for avaliada como True, execução passa para a próxima linha de código sem avaliar a expressão à direita, porque a expressão esquerda já validou a expressão inteira.

dya2szfk.collapse_all(pt-br,VS.110).gifComparação com os operadores não curto Circuiting

Por outro lado, os dois lados do operador lógico são avaliados quando os operadores lógicos And e Or são usados.O exemplo a seguir ilustra isto:

If 45 < 12 And testFunction(3) = 81 Then
    ' Add code to continue execution.
End If

As chamadas de exemplo anterior testFunction() , mesmo que a expressão à esquerda é avaliada como False.

Expressões entre parênteses

Você pode usar parênteses para controlar a ordem de avaliação de expressões booleanas.Expressões entre parênteses, avaliam primeiro.Por vários níveis de aninhamento, a precedência é concedida para as expressões mais profundamente aninhadas.Entre parênteses, avaliação continuará de acordo com as regras de precedência do operador.Para obter mais informações, consulte Precedência de operadores em Visual Basic.

Consulte também

Referência

Operadores de comparação (Visual Basic)

Precedência de operadores em Visual Basic

Tipo de dados Boolean (Visual Basic)

Conceitos

Operadores lógicos e bit a bit em Visual Basic

Comparações de valor (Visual Basic)

Eficiente combinação de operadores (Visual Basic)

Outros recursos

Instruções em Visual Basic