논리 연산자는 Bool 로직 값을 true 와 false 로 수정하거나 결합한다.
Swift는 3개의 표준 논리 연산자를 제공한다.
논리적 NOT (!a)
논리적 AND (a && b)
논리적 OR (a || b)
논리적 NOT 연산자
논리적 NOT 연산자(!a)는 Bool 값을 true -> false로, false->true 와 같이 반대로 만든다.
이것은 "a가 아니다" 라는식으로 읽을 수 있다.
let isEdit = false
if !isEdit { // isEdit가 아니다
print("수정모드 입니다.")
}
// 수정모드 입니다.
논리적 AND 연산자
논리적 AND 연산자(a && b) 는 두 값이 모두 true 여야 true를 표현하는 논리적 표현식을 만든다.
두 값 중 하나라도 false 이면 결과는 false 이다.
첫번째 값이 false 이면 이미 결과가 false 이기때문에 두번째 값은 살펴보지 않는다.
let enteredDoorCode = true
let passedRetinaScan = false
if enteredDoorCode && passedRetinaScan { // passedRetinaScan가 false 이기때문에 false 이다.
print("어서오세요!")
} else {
print("접근이 금지되었습니다.")
}
// 접근이 금지되었습니다.
논리적 OR 연산자
논리적 OR 연산자(a || b)는 두 값 중 하나라도 true 이면 표현식이 true 가 된다.
첫번째 값이 true 이면 이미 결과가 true 이기때문에 두번째 값은 살펴보지 않는다.
let hasDoorKey = false
let knowsPassword = true
if hasDoorKey || knowsPassword {
print("어서오세요!")
} else {
print("접근이 금지되었습니다.")
}
// 어서오세요!
논리적 연산자 결합
긴 복합 표현식을 생성하귀 위해 여러개의 논리적 연산자를 결합 할 수 있다.
let enteredDoorCode = true
let passedRetinaScan = false
let hasDoorKey = false
let knowsPassword = true
// 올바른 출입문 코드(enteredDoorCode)를 입력하고(&&)
// 망막 스캔(passedRetinaScan)을 통과했거나(||)
// 키(hasDoorKey)를 가지고 있거나(||)
// 긴급 비밀번호(knowsPassword)를 알고 있는 경우 접근 허락
if enteredDoorCode && passedRetinaScan || hasDoorKey || knowsOverridePassword {
// 긴급 비밀번호를 알고 있으므로 true 이다.
print("어서오세요!")
} else {
print("접근이 금지되었습니다.")
}
// Prints "어서오세요!"
명시적 소괄호
복합 표현식을 읽기 쉽게 하기 위해 소괄호( )를 포함하는 것은 때때로 유용하다.
소괄호는 감싼 값을 전체 논리에서 별도의 부분으로 고려되도록 해준다.
if (enteredDoorCode && passedRetinaScan) || hasDoorKey || knowsOverridePassword {
print("어서오세요!")
} else {
print("접근이 금지되었습니다.")
}
'비공개 > 공식문서 간단정리' 카테고리의 다른 글
[Swift] 배열 (Arrays) (0) | 2023.12.13 |
---|---|
[Swift] 범위 연산자 (0) | 2023.12.13 |
[Swift] Nil-결합 연산자 (0) | 2023.12.13 |
[Swift] 삼항 조건 연산자 (0) | 2023.12.13 |
[Swift] 복합 대입 연산자 (0) | 2023.12.13 |