Operators
설명 | 예시 | |
Operator (연산자) | 연산을 수행하기 위해 사용되는 문자 | +, -, 등 |
Operand (피연산자) | 계산에 사용되는 값 | |
Unary Operator (단항연산자) | 피연산자가 1개인 경우 | +a |
Binary Operator (이항연산자) | 피연산자가 2개인 경우 | a + b |
Ternary Operator (삼항연산자) | 피연산자가 3개인 경우 | a ? b : c |
Prefix Operator (전치연산자) | 연산자가 피연산자 앞에 있는 경우 | +a |
Postfix Operator (후치연산자) | 연산자가 피연산자 뒤에 있는 경우 | a+ |
Infix Operator | 피연산자 사이에 있는 경우 | a + b |
Operators 종류
Operators 종류 | 예시 |
Unary Plus Operator | +a |
Unary MinusOperator | -a |
Multiplication Operator | a * b |
Division Operator | a / b |
Remainder Operator | a % b |
Overflow Operators
Overflow Operators | 예시 |
Overflow Addition Operator | a &+ b |
Overflow Subtraction Operator | a &- b |
Overflow Multiplication Operator | a &* b |
Comparison Operators
Comparison Operators | 예시 |
Equal to Operator | a == b |
Not equal to Operator | a != b |
Greater than Operator | a > b |
Greater than or equal to Operator | a >= b |
Less than Operator | a < b |
Less than or equal to Operator | a <= b |
Logical Operators
Logical Operators | 설명 | 예시 |
Logical Not Operators | 참은 거짓으로 거짓은 참으로 변경 | !a |
Logical And Operators | 모든 피연산자가 참일 경우만 참 | a && b |
Logical Or Operators | 1개의 피연산자가 참이여도 참 | a || b |
true || ture | true | true || ture | true |
true || false | false | true || false | true |
false || ture | false | false || ture | true |
false || false | false | false || false | false |
Thernary Operators
조건을 기준으로 2개의 값 중 하나를 선택할 때 사용
condition? expr1 : expr2
let hour = 12
hour < 12 ? "am" : "pm"
1, condition 에는 Boolean 표현식
2. 2, 3 번째 피연산자의 자료형이 일치되어야 함
3. 조건이 2개인 경우에만 사용하고 그 이상인 경우 조건문 사용
Short - circuit Evalation (단락 평가)
논리식을 평가할 때 결과를 얻기 위한 최소한의 코드를 실행 이미 결과를 얻었다면 나머지는 실행하지 않음
var a = 1
var b = 1
func updateLeft () -> Bool {
a += 1
return true
}
func updateRight () -> Bool {
b += 1
return true
}
if updateLeft() || updateRight() {
}
a // 2
b // 1
let resultA = updateLeft()
let resultB = updateRight()
if resultA && resultB {
}
a // 2
b // 2
예제를 보면 if 조건절에서 Logical Or Operators는 둘 중 하나만 True여도 True기 때문에 updateLeft()가 True로 평가되기 때문에 updateRight()를 실행하지 않고 if 문을 종료시킴
Side Effect
코드의 실행으로 값 또는 상태가 변경하는 것을 말함
논리식에서 side effect를 발생시킬 수 있는 코드가 포함되어있다면 논리적인 오류가 발생할 확률이 높아짐으로 조심해서 사용해야 함
Range Operators
Range Operators | 예시 |
Closed Range Operaotor | a...b a... ...a |
Half - Opern Range Operator | a ..< b ..<a |
'스피드 문법정리' 카테고리의 다른 글
6. Loop Statements (0) | 2020.06.12 |
---|---|
5. Conditional Statements (0) | 2020.06.11 |
3. Data Type, Type Inference, Type Safety, Type Conversion, Type Alias (0) | 2020.06.10 |
2. Var, Scope (0) | 2020.06.10 |
1. Toke, Expression, Statemet, Literal, Identifier, Keyword, Compile, Link, Run (0) | 2020.06.10 |