날마다 조금씩 Swift - 연산자편5

유진혁·2023년 10월 17일
0

swift

목록 보기
9/17

Logical Operators

Logical operators(논리 연산자)는 true나 false같은 boolean 값들을 변조하거나 연산하는 연산자입니다. Swift는 다음의 세 연산자를 지원해요.

Logical NOT (!a)

Logical AND (a && b)

Logical OR (a || b)

 

Logical NOT Operator

The logical NOT operator (!a) 는 true를 false로 false를 true로 바꾸는 연산자에요.

The logical NOT operator는 변수앞에 공간 없이 사용합니다.

let allowedEntry = false
if !allowedEntry {
    print("ACCESS DENIED")
}
// Prints "ACCESS DENIED"

 

Logical AND Operator

The logical AND operator (a && b)는 a와 b의 값이 모두 참이어야 true를 반환합니다.

하나라도 false이면 false의 값을 리턴하므로, 첫번째 값이 false라면 두번째 값은 평가하지 않고 넘어가요.

let enteredDoorCode = true
let passedRetinaScan = false
if enteredDoorCode && passedRetinaScan {
    print("Welcome!")
} else {
    print("ACCESS DENIED")
}
// Prints "ACCESS DENIED"

 

Logical OR Operator

The logical OR operator (a || b)는 두 값중 한 값이라도 true라면 true를 반환합니다.

AND Operator와 같이 첫번째 값이 true라면 두번째 값은 평가하지 않습니다.

let hasDoorKey = false
let knowsOverridePassword = true
if hasDoorKey || knowsOverridePassword {
    print("Welcome!")
} else {
    print("ACCESS DENIED")
}
// Prints "Welcome!"

 

Combining Logical Operators

위 세가지의 연산자를 하나로 길게 연결하여 사용할 수 있습니다.

if enteredDoorCode && passedRetinaScan || hasDoorKey || knowsOverridePassword {
    print("Welcome!")
} else {
    print("ACCESS DENIED")
}
// Prints "Welcome!"

Swift는 여러개의 논리 연산자가 있을 경우 왼쪽에 있는 연산자부터 처리해요.

 

Explicit Parentheses

가끔씩 계산된 값을 가지고 논리연산을 하고 싶다면 소괄호를 사용하여 우선순위를 높일 수 있어요

// enteredDoorCode && passedRetinaScan가 먼저 평가됨
if (enteredDoorCode && passedRetinaScan) || hasDoorKey || knowsOverridePassword {
    print("Welcome!")
} else {
    print("ACCESS DENIED")
}
// Prints "Welcome!"
profile
개발자

0개의 댓글