부울 식(Visual Basic)
부울 식은 Boolean 데이터 형식 값(True 또는 False)으로 계산되는 식입니다. Boolean 식은 여러 가지 형식을 사용할 수 있습니다. 가장 간단한 형식은 다음 예제와 같이 Boolean 변수의 값을 Boolean 리터럴과 직접 비교하는 것입니다.
If newCustomer = True Then
' Insert code to execute if newCustomer = True.
Else
' Insert code to execute if newCustomer = False.
End If
= 연산자의 두 가지 의미
newCustomer = True 할당문은 위의 예제의 식과 같지만 다른 기능을 수행하며 다르게 사용됩니다. 위의 예제에서 newCustomer = True 식은 부울 값을 나타내므로 = 기호는 비교 연산자로 해석됩니다. 독립 실행형 문에서는 = 기호는 할당 연산자로 해석되어 오른쪽의 값을 왼쪽에 있는 변수에 할당합니다. 다음은 이에 대한 예입니다.
If newCustomer = True Then
newCustomer = False
End If
자세한 내용은 값 비교(Visual Basic) 및 문(Visual Basic)을 참조하십시오.
비교 연산자
=, <, >, <>, <=, >= 등과 같은 비교 연산자는 연산자의 왼쪽에 있는 식과 연산자의 오른쪽에 있는 식을 비교하고 결과를 True 또는 False로 평가하여 부울 식을 생성합니다. 다음은 이에 대한 예입니다.
42 < 81
42는 81보다 작으므로 위의 예제에서 부울 식은 True가 됩니다. 이러한 종류의 식에 대한 자세한 내용은 값 비교(Visual Basic)를 참조하십시오.
논리 연산자와 함께 사용되는 비교 연산자
좀 더 복잡한 부울 식을 만들기 위해 논리 연산자를 사용하여 비교 식을 결합할 수 있습니다. 다음 예제에서는 비교 연산자와 논리 연산자를 함께 사용하는 것을 보여 줍니다.
x > y And x < 1000
위의 예제에서 전체 식의 값은 And 연산자의 양쪽에 있는 각 식의 값에 따라 달라집니다. 두 식이 모두 True이면 전체 식은 True가 되고 둘 중 어느 한 식이 False이면 전체 식은 False가 됩니다.
단락(Short-Circuiting) 연산자
논리 연산자 AndAlso와 OrElse는 단락(short circuit)으로 알려진 동작을 나타냅니다. 단락(short circuit) 연산자는 왼쪽에 있는 피연산자를 먼저 계산합니다. 왼쪽에 있는 피연산자가 전체 식의 값을 결정하는 경우 오른쪽에 있는 식을 계산하지 않고 프로그램 실행이 계속됩니다. 다음은 이에 대한 예입니다.
If 45 < 12 AndAlso testFunction(3) = 81 Then
' Add code to continue execution.
End If
위의 예제에서 연산자는 왼쪽에 있는 식 45 < 12를 계산합니다. 왼쪽에 있는 식이 False이므로 전체 논리 식은 False가 됩니다. 따라서 프로그램은 오른쪽에 있는 식 testFunction(3)을 계산하지 않고 If 블록 내의 코드 실행을 건너뜁니다. 이 예제에서는 왼쪽에 있는 식이 전체 식을 false로 계산하기 때문에 testFunction()을 호출하지 않습니다.
마찬가지로 OrElse를 사용하는 논리 식에서 왼쪽에 있는 식이 True가 되면 왼쪽에 있는 식이 이미 전체 식을 true로 계산하기 때문에 오른쪽에 있는 식을 계산하지 않고 다음 코드 줄을 실행합니다.
비단락(short circuit) 연산자와 비교
이와 대조적으로 논리 연산자 And와 Or가 사용되는 경우에는 논리 연산자의 양쪽을 모두 계산합니다. 다음은 이에 대한 예입니다.
If 45 < 12 And testFunction(3) = 81 Then
' Add code to continue execution.
End If
위의 예제에서는 왼쪽에 있는 식이 False가 되어도 testFunction()을 호출합니다.
괄호 식
괄호를 사용하여 부울 식 계산 순서를 제어할 수 있습니다. 괄호로 묶은 식을 가장 먼저 확인합니다. 여러 번 중첩된 경우에는 가장 안쪽에 있는 식에 우선 순위가 부여됩니다. 괄호 내에서는 연산자 우선 순위 규칙에 따라 확인됩니다. 자세한 내용은 Visual Basic에서의 연산자 우선 순위를 참조하십시오.